İlkbahar - Fasulye Tanımı
Uygulamanızın omurgasını oluşturan ve Spring IoC konteyneri tarafından yönetilen nesnelere denir. beans. Fasulye, bir Spring IoC konteyneri tarafından örneklenen, bir araya getirilen ve başka şekilde yönetilen bir nesnedir. Bu çekirdekler, konteynere sağladığınız konfigürasyon meta verileriyle oluşturulur. Örneğin, önceki bölümlerde gördüğünüz XML <bean /> tanımları biçiminde.
Fasulye tanımı, adı verilen bilgileri içerir configuration metadata, konteynerin aşağıdakileri bilmesi için gerekli olan -
- Fasulye nasıl oluşturulur
- Bean yaşam döngüsü ayrıntıları
- Bean bağımlılıkları
Yukarıdaki tüm konfigürasyon meta verileri, her bir fasulye tanımlamasını oluşturan aşağıdaki özelliklerin bir kümesine çevrilir.
Sr.No. | Özellikler ve Açıklama |
---|---|
1 | class Bu öznitelik zorunludur ve çekirdeği oluşturmak için kullanılacak fasulye sınıfını belirtir. |
2 | name Bu öznitelik, fasulye tanımlayıcısını benzersiz bir şekilde belirtir. XML tabanlı yapılandırma meta verilerinde, bean tanımlayıcılarını belirtmek için id ve / veya name niteliklerini kullanırsınız. |
3 | scope Bu özellik, belirli bir fasulye tanımından yaratılan nesnelerin kapsamını belirtir ve fasulye kapsamları bölümünde tartışılacaktır. |
4 | constructor-arg Bu, bağımlılıkları enjekte etmek için kullanılır ve sonraki bölümlerde tartışılacaktır. |
5 | properties Bu, bağımlılıkları enjekte etmek için kullanılır ve sonraki bölümlerde tartışılacaktır. |
6 | autowiring mode Bu, bağımlılıkları enjekte etmek için kullanılır ve sonraki bölümlerde tartışılacaktır. |
7 | lazy-initialization mode Tembel başlatılmış bir fasulye, IoC konteynerine başlangıçta değil, ilk istendiğinde bir fasulye örneği oluşturmasını söyler. |
8 | initialization method Çekirdek üzerindeki tüm gerekli özellikler konteyner tarafından ayarlandıktan hemen sonra çağrılacak bir geri arama. Fasulye yaşam döngüsü bölümünde tartışılacaktır. |
9 | destruction method Çekirdeği içeren kap yok edildiğinde kullanılacak bir geri arama. Fasulye yaşam döngüsü bölümünde tartışılacaktır. |
Bahar Yapılandırması Meta Verileri
Spring IoC konteyneri, bu konfigürasyon meta verilerinin gerçekte yazıldığı formattan tamamen ayrılmıştır. Spring Container'a yapılandırma meta verileri sağlamanın üç önemli yöntemi şunlardır:
- XML tabanlı konfigürasyon dosyası.
- Ek açıklama tabanlı yapılandırma
- Java tabanlı konfigürasyon
XML tabanlı yapılandırma meta verilerinin konteynere nasıl sağlandığını zaten gördünüz, ancak tembel başlatma, başlatma yöntemi ve imha yöntemi dahil olmak üzere farklı fasulye tanımlarına sahip başka bir XML tabanlı yapılandırma dosyası örneği görelim -
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- A simple bean definition -->
<bean id = "..." class = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with lazy init set on -->
<bean id = "..." class = "..." lazy-init = "true">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with initialization method -->
<bean id = "..." class = "..." init-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with destruction method -->
<bean id = "..." class = "..." destroy-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
Kontrol edebilirsiniz Bahar Merhaba Dünya Örneği , yapılandır tanımlayabilir ve Bahar fasulye nasıl oluşturulduğunu anlamak için.
Ek Açıklama Tabanlı Yapılandırma hakkında ayrı bir bölümde tartışacağız. Ek Açıklamalarla Yay Bağımlılık Enjeksiyonu ile programlamaya başlamadan önce, diğer birkaç önemli Bahar kavramını anlamanızı istediğimiz için, ayrı bir bölümde kasıtlı olarak tartışılmıştır.