依赖注入之针对不同类型变量的几种注入方式
控制反轉(zhuǎn)(Inversion of Control)和依賴注入(Dependency Injection)講的都是一個概念,只不過是站在了不同的角度,所謂的依賴注入:
依賴注入(DI)是指在運行期,由外部容器動態(tài)地將依賴對象注入到組件中。當spring容器啟動后,spring容器初始化,創(chuàng)建并管理bean對象,以及銷毀它。所以我們只需從容器直接獲取Bean對象就行,而不用編寫一句代碼來創(chuàng)建bean對象。這種現(xiàn)象就稱作控制反轉(zhuǎn)(Ioc),即應用本身不負責依賴對象的創(chuàng)建及維護,依賴對象的創(chuàng)建及維護是由外部容器負責的。這樣控制權就由應用轉(zhuǎn)移到了外部容器,控制權的轉(zhuǎn)移就是所謂反轉(zhuǎn)。
下面介紹各種類型屬性的注入方式:
新建實體類Student:
public class Student {//基本數(shù)據(jù)類型的變量private String name;//對象類型的變量,Address類代碼(只有一個屬性 private String addr() setter() getter())private Address address;//數(shù)組類型的變量private String[] hobby;//list類型的變量private List<String> books;//Map類型的變量private Map<String,String> cards;//set類型的變量private Set<String> movies;//Properties類型的變量private Properties info;public void show(){System.out.println("name:"+name+"地址:"+address.getAddr());System.out.println("愛好有:");for(int i=0;i<hobby.length;i++){System.out.println(hobby[i]);}System.out.println("喜歡的書籍:"+books);System.out.println("擁有的銀行卡"+cards);System.out.println("喜歡的電影"+movies);System.out.println("身份信息:"+info);} //set方法省略 }配置文件beans.xml:
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="address" class="com.wang.entity.Address"><property name="addr" value="青島"></property></bean> <bean id="student" class="com.wang.entity.Student"><!--配置基本數(shù)據(jù)類型 --><property name="name" value="張三豐"></property><!--配置對象類型 --><property name="address" ref="address"></property><!--配置數(shù)組類型 --><property name="hobby" ><array><value>吃飯</value><value>睡覺</value><value>打豆豆</value></array></property><!--配置list類型 --><property name="books"><list><value>時光旅行者的妻子</value><value>白發(fā)魔女傳</value><value>誰的青春不迷茫</value></list></property><!--配置map類型 --><property name="cards"><map><entry key="農(nóng)行卡" value="62284832128534"></entry><entry key="建行卡" value="62284867867984"></entry></map></property><!--配置set類型 --><property name="movies"><set><value>瘋狂動物城</value><value>葉問3</value><value>功夫熊貓</value></set></property>
<!--配置properties類型-->
<property name="info"><props><prop key="學號">20124280</prop><prop key="班級">三年二班</prop><prop key="性別">不詳</prop></props></property></bean> </beans>
測試代碼:
@Testpublic void test1(){ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");Student s=(Student)context.getBean(Student.class);s.show();}打印結果:
name:張三豐地址:青島
愛好有:
吃飯
睡覺
打豆豆
喜歡的書籍:[時光旅行者的妻子, 白發(fā)魔女傳, 誰的青春不迷茫]
擁有的銀行卡{農(nóng)行卡=62284832128534, 建行卡=62284867867984}
喜歡的電影[瘋狂動物城, 葉問3, 功夫熊貓]
身份信息:{學號=20124280, 性別=不詳, 班級=三年二班}
轉(zhuǎn)載于:https://www.cnblogs.com/hoobey/p/6013155.html
總結
以上是生活随笔為你收集整理的依赖注入之针对不同类型变量的几种注入方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis 6.0学习指南
- 下一篇: java xcap_java实现发布订阅