Spring Boot, uygulamaların farklı ortamlar (geliştirme, test, prodüksiyon vb.) için farklı yapılandırma ayarlarını yönetmelerine olanak tanıyan spring.profiles
mekanizmasını sunar. Bu özellik sayesinde, her bir ortam için ayrı yapılandırma dosyaları oluşturabilir ve uygulamanızın hangi profil altında çalışacağını belirleyebilirsiniz.
Profil Belirleme
Spring Boot, profilleri belirlemek ve yönetmek için spring.profiles.active
özelliğini kullanır. Bu özelliği ayarlamanın birkaç farklı yolu vardır:
Uygulama Özellikleri Dosyası (application.properties veya application.yml):
application.properties
veyaapplication.yml
dosyasınaspring.profiles.active
ekleyerek aktif profili belirleyebilirsiniz:propertiesspring.profiles.active=dev
veya
yamlspring: profiles: active: dev
Komut Satırı Argümanları:
Uygulamayı çalıştırırken komut satırı argümanları kullanarak aktif profili belirleyebilirsiniz:
bashjava -jar myapp.jar --spring.profiles.active=dev
Ortam Değişkenleri:
Ortam değişkenleri kullanarak profili ayarlayabilirsiniz:
bashexport SPRING_PROFILES_ACTIVE=dev
IDE Ayarları:
IDE'nizin (IntelliJ IDEA, Eclipse vb.) yapılandırma ayarlarında aktif profil belirleyebilirsiniz.
Profil Bazlı Yapılandırma Dosyaları
Spring Boot, belirli profillere özel yapılandırma dosyaları oluşturmanıza olanak tanır. Örneğin, application-dev.properties
veya application-dev.yml
gibi dosyalar oluşturabilirsiniz. Bu dosyalar, yalnızca ilgili profil aktif olduğunda yüklenir.
properties# application-dev.properties app.name=MyApp (Dev) app.featureX.enabled=true
properties# application-prod.properties app.name=MyApp (Prod) app.featureX.enabled=false
Profillerin Kullanımı
Bir profili kontrol etmek veya belirli bir profilde çalışmak için Spring Boot anotasyonlarını kullanabilirsiniz. Örneğin, belirli bir bileşeni sadece belirli bir profil aktifken yüklemek için @Profile
anotasyonunu kullanabilirsiniz:
java
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
@Component
@Profile("dev")
public class DevComponent {
// ...
}
Çoklu Profiller
Birden fazla profili aynı anda etkinleştirebilirsiniz. Bunun için profilleri virgülle ayırmanız yeterlidir:
propertiesspring.profiles.active=dev,debug
Örnek Senaryo
Örneğin, geliştirici ortamında farklı bir veritabanı, prodüksiyon ortamında ise daha güvenli bir veritabanı yapılandırması kullanmak isteyebilirsiniz.