2016-01-18 17 views
11

Bir Spring uygulamasına sahibim ve sunucuyu hata ayıklaması veya sunucu üretimde çalışıyor olmama bağlı olarak yapılandırmalar arasında geçiş yapmak istiyorum. (yapılandırmalardaki fark, veritabanı konumu gibi şeylerdir.)Spring, bir uygulama için bir uygulama kullanın ve bir başka hata ayıklama için

İdeal olarak, önyükleme sırasında Spring uygulamasına bir komut satırı argümanını iletmek ve uygulama yapılandırmasını ayarlamak istiyorum.

İki ayrı application.properties dosyası, biri üretim değerleriyle ve diğeri de hata ayıklama değerleriyle. İkisi arasında nasıl geçiş yapabilirim?

+1

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties ve ayrıca https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files – user3707125

cevap

21

3 adete ait dosya, application-dev.properties, application-prod.properties ve application.properties ürününe sahip olabilirsiniz. Ve dosyası eşya

tüm özellikleri dosya sizin dev içindeki gelişim özelliklerini ve üretim cionfiguration özelliklerini belirtmek ve

spring.profiles.active=dev 

veya altınızda gibi application.properties dosyalarında profil belirtebilirsiniz komut satırında -Dprofile= argümanı kullanarak profili seçebilir/geçersiz kılabilir.

+0

İhtiyacım olan bu. !. Belgeleri incelediğimde ve @configuration sınıflarında kaybolduğumda. Basit bir cevap olduğunu görmek güzel. – Prichmp

+0

Yay önyüklemesi gerekli mi? – Jaskey

+0

Yay önyüklemesini çalıştırmak için bir özellik dosyasına ihtiyacınız yoktur. Ama eğer varsa, onu sınıf yolundan kontrol edip alacaksınız. Bu şekilde, farklı profillerde farklı konfigürasyonlar olabilir –

3

Yay profilleri gidilecek gibi görünüyor. Uygulamanıza -Dprofile = gibi bir şeyle başlayabilirsiniz. this example'a bir göz atın.

DÜZENLEME: sorunuzu yeniden okuduktan sonra, aslında daha basit bir şey isteyebileceğiniz sonucuna vardım: veritabanı özelliklerinizi dışarıdan. Uygulamanıza bağlı olarak, bir özellik yapılandırıcısının @Value'sini kullanabilirsiniz. Bahar belgelerine bakın.

İlgili konular