Spring Boot’ta @Component ve @Bean Annotasyonları

Spring Boot, Java tabanlı bir framework’tür ve Spring uygulamalarını hızla oluşturmanıza ve çalıştırmanıza olanak tanır. Spring Boot’ta, bağımlılık enjeksiyonu (dependency injection) sayesinde uygulamanın farklı parçalarını bir araya getirmek için birçok annotasyon bulunmaktadır. Bu yazıda, iki temel annotasyon olan @Component ve @Bean üzerinde duracağız.

@Component

@Component annotasyonu, Spring’in bir sınıfı bir bileşen olarak tanımasını ve Spring IoC konteynerine otomatik olarak bean olarak kaydedilmesini sağlar. Bu, Spring’in o sınıfın bir örneğini oluşturmasını ve gerektiğinde diğer bileşenlere enjekte etmesini sağlar.

Örnek:

Bu örnekte GreetingService adlı sınıfı bir Spring bileşeni olarak işaretledik. Şimdi bu sınıfın bir örneği, uygulama çalıştığında Spring konteyneri tarafından otomatik olarak oluşturulacaktır.

@Bean

@Bean annotasyonu, bir metodu bean oluşturma fabrikası olarak işaretler. Bu, Spring’in bu metodu çağırarak geriye dönen nesnenin bir örneğini oluşturmasını ve bu nesneyi Spring IoC konteynerine kaydetmesini sağlar. Genellikle konfigürasyon sınıflarında veya üçüncü taraf kütüphaneden gelen sınıfları bean olarak kaydetmek istediğimizde kullanılır.

Örnek:

Bu örnekte AppConfig adlı sınıf bir konfigürasyon sınıfı olarak işaretlenmiştir. greetingService metodu @Bean annotasyonu ile işaretlenerek, bu metot Spring IoC konteyneri tarafından çağrılacak ve geri dönen GreetingService nesnesi bir bean olarak kaydedilecektir.

Spring Boot’ta @Component ve @Bean annotasyonları, bileşenlerin ve beanlerin Spring IoC konteynerine kaydedilmesi için kullanılır. @Component sınıflar için doğrudan kullanılırken, @Bean daha özel durumlar için veya metot bazında kullanılır. Bu iki annotasyon, Spring Boot uygulamalarında bağımlılık enjeksiyonunun temel taşlarından ikisidir.

Umarım “Spring Boot’ta @Component ve @Bean Annotasyonları” başlıklı yazım sizin için faydalı olmuştur.

Şu yazılar da ilginizi çekebilir.

Spring Boot’ta @Lazy Annotasyonu

Yeni bir yazımda görüşmek üzere.

Happy coding!

Yorum Yazın