SpringIOC(DI)
IOC(Inversion of Control )控制反轉
所謂控制反轉就是把建立物件(bean),和維護物件(bean)的關係的權利從程式中轉移到spring的容器(applicationContext.xml),而程式本身不再維護
DI(Dependency Injection)依賴注入
實際上di和ioc是同一個概念,spring設計者認為di更準確表示spring核心技術
使用了ioc容器建立物件和管理物件之間關係的工作由ioc容器處理
Spring為我們提供了applicationContext、BeanFactory兩種容器
eanFactory是由
ApplicationContext由org.springframework.context. ApplicationContext介面定義的,是以BeanFactory為基礎構建的。是BeanFactory的子類,與BeanFactory先比除了具有基本的
//使用spring
//方法一
//1.建立Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationcontext.xml");
//2.獲得User物件
User u = (User) ac.getBean("u");
//User u = ac.getBean("u", User.class);//和上面等價 不需要強制轉換
u.tell();
//方法二
BeanFactory factory = new
User x = (User) factory.getBean("u");
x.tell();、
依賴注入的方式
依賴注入一般存在三種方式:設值注入、構造方法注入、介面注入。但是在Spring中只支援前兩種。
可以注入陣列、集合(List、Set、Map)。