SpringIOC也稱為DI,對屬性內容的注入可以通過屬性的setXXX方法進行也可以通過構造方法進行,當然還可以使用工廠模式進行屬性內容的注入。
什么是DI?什么是IOC?
?
DI:Dependency Injection依賴注入
其實一個類中的屬性就是依賴
注入就是為該屬性賦值
比如:


class A{ } class B{//依賴private A a;//注入public void setA(A a){this.a=a; } }
那么IOC是什么呢?
IOC:Inversion of Control,控制反轉
?
都稱為IOC容器,就是為我們創建類的對象并且可以為屬性賦值
來看看如何使用IOC創建對象:


<?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”> <!-- IOC控制反轉的對象可以有多個bean,一個bean就是一個反轉對象。常用屬性:id/name:bean的唯一標記,不要重復class:要創建的對象的類的全稱scope:對象的創建方式,取值:1、singleton:單例,在整個ApplicationContext對象中就一個,會維護對象的生命周期2、protortype:多例,每次調用getBean就新建對象,不會維護對象的生命周期3、request:將創建的對象存儲在HttpServletRequest的setAttribute中4、session:將創建的對象存儲在HttpSession中5、globalSession:在Prolet環境中,使用,非prolet中等價于session --> <!-- 對象屬性的值的注入方式 --> <!-- 第一種:通過屬性的setXXX方法實現注入 --> <bean id=”user” class=”cn.code404.pojos.User” scope=”singleton”> <!-- 為屬性賦值,借助setXXX --> <property name=”id” value=“1”/> <property name=”username” value=”zhangsan”/> <property name=”pass” value=”123456”/> </bean> </beans>
使用單元測試進行調用:


public class IOCTest{//IOC使用之前和之后 @Testpublic void test1(){//IOC之前User user=new User();Syatem.out.println(user);//IOC控制//1.Spring上下文對象ApplicationContext context=new ClassPathXmlApplicationContext(“applicationContext.xml”);//2.獲取指定id或name的Bean對象User user2=(User) context.getBean(“user”);System.out.println(user2); } }
?
以上就是spring的入門使用。