Spring Boot Profile Nedir?

Spring Boot Dersleri‘ne devam ediyoruz.

Bu yazıda Spring Boot’ta Profile anotasyonundan bahsedeceğiz. Profile anotasyonu uygulamamızdaki farklı çalışma isterlerine göre programımızın hangi işlevinin çalışacağını çalışacağını isteğimize göre seçmemizi sağlamaktadır.

Şimdi bir örnek ile Spring Boot ile Profile kullanımına bakacağız. Bu uygulamamızda iki adet çıktı üreticimiz var birisi PDF çıktısı diğeri ise HTML çıktısı ürettiğini varsayalım. Bu iki çıktınında kodlarını yazacağız ardından istediğimiz bir çıktıyı seçip uygulamanın o seçtiğimiz işlevi yapmasını sağlacağız. Örneğimiz maven projesi olup yazının sonunda ki linkten projenin tamamına ulaşabileceksiniz.

Bir Spring Boot Projesi oluşturalım. (bakınız: Spring Boot Projesi Oluşturmak) Proje yapımız , paketleri ve beanler şu şekilde olacak.

Print Servisimiz bir interface oluşturalım. Bu interface merhaba adında olacak ve geri dönüş olarak girilen ismi döndürecek.

Yazdığımız interface’i implement ederek sözde Pdf ve Html çıktısı üretecek servisimizi yazalım.

Şimdi Pdf servisimizi yazalım.

Pdf servisimizi yazalım.

Burada asıl dikkat edeceğimiz şey bu Component anotasyonu ile işaretlenmiş olan beanimizi @Profile olarak işaretliyoruz ve bir isim veriyoruz. Bu işaretlemeyi yaptıktan sonra hangi Spring Componenetinin çalışacağını application.properties dosyasında belirtiyoruz.

spring.profiles.active attribute’na pdf i seçerek Pdf componentinin çalışmasını sağlamaktayız. Html yazarsak o component çalışacaktı. Controller’imizi yazalım.

Controller’imiz de yaptığımız işlemlerden bahsedecek olursak. http://localhost/hello adresinden bir parametre almayı bekliyoruz. Bu göndereceğimiz parametre sonucunda PrintService’miz çalışacak ve application.properties dosyasında hangi componenti seçtiysek o çalışıp bize değer döndüerecektir.

Programımızı çalıştıracak ana classımızı yazalım.

Şimdi sıra çalıştırmaya geldi. http://localhost/hello/burak yazdığımızda karşımıza çıkan sonuca bakalım.

Bu çıktıyı almamazın nedeni profil olarak pdf seçilmesidir. html olarak seçersek sonuç;

Çıktımız şeklinde olmaktadır.


Projenin Kaynak Kodlarını Github Üzerinden Görünlüte / İndir
 

Önceki Ders: CLI ile Spring Boot Uygulaması Spring Boot Dersleri Sonraki Ders:

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir