توضح هذه المقالة الإدارة الأساسية لـ Spring Bean مع الأمثلة. شاركها مع الجميع للرجوع إليها، التفاصيل كالتالي:
1. استخدم طريقة الضبط لإكمال حقن التبعية
فيما يلي ملفات Bean وbeans-config.xml.
public class HelloBean { سلسلة خاصة helloWord //... حذف أساليب getter و setter}
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans. dtd"> <beans> <bean id="helloBean" > <property name="helloWord"> <value>مرحبًا!جوستين!</value> </property> </فول> </فول>
public class SpringDemo { public static void main(String[] args) { Resource rs = new FileSystemResource("beans-config.xml"); BeanFactory Factory = new XmlBeanFactory(rs); helloBean"); System.out.println(hello.getHelloWord()); } }
2. استخدم طريقة البناء لإكمال الحقن
public class HelloBean { اسم سلسلة خاصة; سلسلة خاصة helloWord; // يوصى باستخدام طريقة بناء بدون معلمات public HelloBean() { } public HelloBean(String name, String helloWord) { this.name = name; } //...حذف أساليب getter وsetter}
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans. dtd"> <beans> <bean id="helloBean"> <constructor-arg Index="0"> <value>جوستين</value> </constructor-arg> <constructor-arg Index="1"> <value>مرحبا</value> </constructor-arg> </bean> </beans>
public class SpringDemo { public static void main(String[] args) { ApplicationContext context = new FileSystemXmlApplicationContext("beans-config.xml"); HelloBean hello = (HelloBean) context.getBean("helloBean"); ("الاسم: ")؛ System.out.println(hello.getHelloWord());
3. مرجع السمة
public class HelloBean { سلسلة خاصة helloWord تاريخ تاريخ خاص؛ //... حذف أساليب getter و setter}
<beans> <bean id="dateBean"/> <bean id="helloBean"> <property name="helloWord"> <value>مرحبًا!</value> </property> <property name="date"> < المرجع bean="dateBean"/> </property> </bean> </beans>
public class SpringDemo { public static void main(String[] args) { ApplicationContext context = new FileSystemXmlApplicationContext("beans-config.xml"); HelloBean hello = (HelloBean) context.getBean("helloBean"); (hello.getHelloWord()); System.out.print(hello.getDate()); System.out.println(".");
4. الربط التلقائي "byType".
قم بتغيير ملف التكوين في "ثلاثة" إلى ما يلي لإكمال الربط التلقائي لسمات الحبة حسب النوع.
<beans> <bean id="dateBean"/> <bean id="helloBean" autowire="byType"> <property name="helloWord"> <value>مرحبًا!</value> </property> </bean> </فاصوليا>
5. الربط التلقائي "بالاسم".
قم بتغيير ملف التكوين في "ثلاثة" إلى ما يلي لإكمال الربط التلقائي لسمات الحبة بالاسم.
<beans> <bean id="dateBean"/> <bean id="helloBean" autowire="byName"> <property name="helloWord"> <value>مرحبًا!</value> </property> </bean> </فاصوليا>
6. الربط التلقائي "المنشئ".
قم بتغيير ملف التكوين في "ثلاثة" إلى ما يلي لإكمال الربط التلقائي لسمات الحبة وفقًا لطريقة الإنشاء. عند إنشاء علاقة تبعية، ستحاول حاوية Spring مقارنة نوع مثيل Bean في الحاوية ونوع المعلمة في المُنشئ ذي الصلة لمعرفة ما إذا كان النوع متسقًا. إذا كان الأمر كذلك، فسيتم استخدام المُنشئ لإنشاء مثال Bean . إذا كان لا يمكن ربطه، فسيتم طرح استثناء org.springframework.beans.factory.UnsatisfiedDependencyException.
<beans> <bean id="dateBean"/> <bean id="helloBean" autowire="constructor"> <property name="helloWord"> <value>مرحبًا!</value> </property> </bean> </فاصوليا>
6. الربط التلقائي "للكشف التلقائي".
قم بتغيير ملف التكوين في "الثلاثة" إلى ما يلي لإكمال الربط التلقائي لسمات الفول. ويعني هذا الربط التلقائي أن Spring سيحاول استخدام المنشئ للتعامل مع إنشاء التبعيات. إذا لم ينجح، فحاول استخدام byType التبعيات الطبقة لتأسيسها.
<beans> <bean id="dateBean"/> <bean id="helloBean" autowire="autodetect"> <property name="helloWord"> <value>مرحبًا!</value> </property> </bean> </فاصوليا>
7. طريقة التحقق من التبعية
في الربط التلقائي، نظرًا لعدم وجود طريقة لمعرفة ما إذا تم تعيين كل سمة بوضوح من ملف التعريف، من أجل التأكد من إنشاء تبعيات معينة بالفعل، يمكنك تعيين التحقق من التبعية عند استخدام علامة <bean> ". التحقق من التبعية"، هناك أربع طرق للتحقق من التبعية: بسيطة، كائنات، الكل، ولا شيء.
بسيط: يتحقق فقط مما إذا كانت خصائص الأنواع البسيطة (مثل أنواع البيانات البدائية أو كائنات السلسلة) تكمل التبعيات.
الكائنات: تحقق مما إذا كانت خصائص نوع الكائن تكمل التبعية.
الكل: تحقق مما إذا كانت جميع السمات كاملة التبعيات.
لا شيء: الإعداد هو القيمة الافتراضية، مما يشير إلى أنه لم يتم التحقق من التبعيات.
<beans> <bean id="dateBean"/> <bean id="helloBean" autowire="autodetect" Depeny-check="all"> <property name="helloWord"> <value>مرحبًا!</value> < /property> </bean> </beans>
8. جمع كائن الحقن
بالنسبة لكائنات المجموعة مثل المصفوفات والقوائم والمجموعات والخرائط، يجب ملء بعض الكائنات في المجموعة قبل الحقن. وبعد ذلك، عندما يتم حقن كائنات المجموعة في الفاصوليا المطلوبة، يمكن أيضًا صيانتها أو إنشاؤها تلقائيًا بواسطة حاوية Spring's IoC. كائنات التجميع وحقن التبعية الكاملة.
public class SomeBean { public String[] someStrArray; public Some[] someObjArray; Private Map someMap; public String[] getSomeStrArray() { return someStrArray; someStrArray } public Some[] getSomeObjArray() { return someObjArray } public void setSomeObjArray(Some[] someObjArray) { this.someObjArray = someObjArray; } public List getSomeList() { return someList; } public void setSomeList(List someList) { this.someList } public Map getSomeMap() { return someMap } public void setSomeMap(Map someMap) { this.someMap = someMap } } public class بعض { اسم السلسلة الخاصة؛ سلسلة getName العامة () { اسم الإرجاع } اسم السلسلة العام (اسم السلسلة) { this.name = name } public String toString () } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans. dtd"> <beans> <bean id="some1"> <property name="name"> <value>جوستين</value> </property> </bean> <bean id="some2"> <property name="name"> <value>momor</value> </property> </bean> <bean id="someBean"> <property name="someStrArray"> <list> < value>مرحبًا</value> <value>مرحبًا</value> </list> </property> <property name="someObjArray"> <list> <ref bean="some1"/> <ref bean = "some2"/> </list> </property> <property name = "someList"> <list> <value>ListTest</value> <ref bean = "some1"/> <ref bean = "some2" /> </list> </property> <property name="someMap"> <map> <entry key="MapTest"> <value>مرحبا!جوستين!</value> </entry> <entry key="someKey1 "> <ref bean="some1"/> </entry> </map> </property> </bean> </beans>
public class SpringDemo { public static void main(String[] args) { ApplicationContext context = new FileSystemXmlApplicationContext( "beans-config.xml"); كائن حقن التبعية String[] strs = (String[]) someBean.getSomeStrArray(); Some[] somes = (Some[]) someBean.getSomeObjArray(); for(int i = 0; i < strs.length; i++) { System.out.println(strs[i] + ""، + somes[i].getName() } // احصل على كائن حقن تبعية نوع القائمة System.out.println(); List someList = (List) someBean.getSomeList(); someList.size(); i++) { System.out.println(someList.get(i)); // احصل على كائن حقن تبعية نوع الخريطة System.out.println(); (); System.out.println(someMap.get("MapTest")); System.out.println(someMap.get("someKey1")); }
آمل أن تكون هذه المقالة مفيدة للجميع في برمجة جافا.