Bu özelliği, özellikleri dışlamak için kullanmıyorum. İlk olarak, yönteminiz için bir öneri deneyeceğim ve sonra ne kullandığımı göstereceğim.
Sizin yönteminiz için öneri dosya yerine dosya: /// kullanmaktır: İlkbaharda olduğu gibi// /, üç nokta eğik çizgiden geçmediğinde, özelliği tanımaz.
Sizin için bir örnek proje oluşturdum, available here with instructions.
Şimdi kullandığım yöntem için.
Her profil için bir Yapılandırma dosyası tanımlarım ve application.properties dosyasını src/main/resources altında tutuyorum.
Daha sonra her yapılandırma dosyasındaki @Profile ve @PropertySource ek açıklamalarını kullanıyorum. Örneğin
:
@Configuration
@Profile("dev")
@PropertySource("file:///${user.home}/.devopsbuddy/application-dev.properties")
public class DevelopmentConfig {
@Bean
public EmailService emailService() {
return new MockEmailService();
}
@Bean
public ServletRegistrationBean h2ConsoleServletRegistration() {
ServletRegistrationBean bean = new ServletRegistrationBean(new WebServlet());
bean.addUrlMappings("/console/*");
return bean;
}
}
Ve şöyle Ben de, ben ApplicationConfig çağrı tüm profiller için geçerli olan bir yapılandırma dosyası var
@Configuration
@Profile("prod")
@PropertySource("file:///${user.home}/.devopsbuddy/application-prod.properties")
public class ProductionConfig {
@Bean
public EmailService emailService() {
return new SmtpEmailService();
}
}
:
@Configuration
@EnableJpaRepositories(basePackages = "com.devopsbuddy.backend.persistence.repositories")
@EntityScan(basePackages = "com.devopsbuddy.backend.persistence.domain.backend")
@EnableTransactionManagement
@PropertySource("file:///${user.home}/.devopsbuddy/application-common.properties")
public class ApplicationConfig {
}
Benim src/main/resources/application.properties dosya aşağıdaki gibi görünüyor:
spring.profiles.active=dev
[email protected]
token.expiration.length.minutes=120
Elbette spring.profile.active özelliğini bir system özelliği olarak geçirerek dışa doğru genişletebilirim ama benim durumum için ve şimdilik iyi.
Uygulamayı çalıştırırken, "dev" profilini iletirseniz, Spring, DevelopmentConfig sınıfında tanımlanan tüm özellikleri ve Fasulye ile ApplicationConfig'teki tüm öğelerin yüklenmesini sağlar. "Prod" iletirseniz, bunun yerine ProductionConfig ve ApplicationConfig özellikleri yüklenir.
Güvenlik, E-posta, Veri JPA, Amazon Web Servisleri, Şerit ve daha fazlası ile bir Spring Boot web sitesi oluşturma hakkında bir kurs tamamlıyorum. Eğer isterseniz, here nolu ilginizi kaydedebilir ve kurs kayıt için açık olduğunda bilgilendirilirsiniz.
///, – Shiv
Hi Shiv'te çalışmaz, cevabımı, yukarıdakileri gösteren örnek bir projeyle ilişkilendirdim. Referansınız için örnek projeyi burada bulabilirsiniz. http://devopsfolks.com/stackoverflow-material/#36635163 –
Teşekkürler. – Shiv