Spring Boot Profiles

0 2,482

Uygulamalar, farklı ortamlarda farklı konfigürasyonlara sahip olmaktadırlar. Spring Profile ise bu ortamlardaki konfigürasyonlarınızı yönetmenizi sağlar.

Uygulamaların canlıya geçiş aşamaları farklılık gösterse de temel olarak test ve prod ortamları olmazsa olmaz iki ortamdır. Dolayısıyla bu ortamların database bağlantısı, bağlandığı servislerin adresleri, uygulamanın ayağa kalkacağı port, security ve ya cache mekanizmaları ortamlar arasında farklılık gösterebilir. Dolayısıyla bu konfigürasyonları ortama göre değiştirmemiz ve o ortam konfigürasyonuna uygun şekilde uygulamayı ayağa kaldırmamız gerekir.

Şimdi Dev ve Prod ortamları için biz deneme yapalım.

  1. @Profile Annatation

Spring 3.1 versiyonundan itibaren bu Annatation desteklemektedir.

Spring 3.2 ile beraber @Profile metod seviyesinde de kullanılmaya başlanmıştır. Bu sayede tek class içinde @Profile ve @Bean tanımlarını aşağıdaki gibi kullanabilir hale gelmiş olduk.

Tabii ki Bean tanımlarını xml dosyalarınında da yapabiliriz.

Web projesinde aşağıdaki gibi default profile tanımını yapabiliriz.

Integration testleri için Spring @ActiveProfiles annotation sunuyor.

 

 2. Configuration Files

Konfigürasyonları application.properties / yml dosyalarıyla da yönetebiliriz.

  • application-dev.yml
  • application-test.yml
  • application-prod.yml

Uygulamanın hangi profile ile çalışması gerektiğini ise aşağıdaki gibi konfigüre edebilirsiniz.

Run as -> Run Configurations -> Environment -> Add

spring.profiles.active : test

ya da

 

Uygulamayı çalıştırdığımızda log’larda aşağıdaki çıktıyı göreceğiz.

 

Kaynak;

Faydalı olması dileğiyle.

Email adresiniz yayınlanmayacaktır.