一、控制反转 : 反转的是什么?
***反转的是 : 获取对象的方式
student student = new student ()----------> getBean(“student”)
自己通过new产生对象 --------> 直接从ioc容器中获取(applicationContext.xml)
反转
产生(创造)----------------------> 获取 (拿)
Ioc 和 di(依赖注入) 其实是一回事,为了更清晰的理解:
那 怎么理解 注入方式?!!?!
将属性值赋值给属性,再将这些属性注给Bean,将Bean注给了Ioc容器
归总:
二、DI依赖注入:底层是通过反射实现的。
常用的三种方式:
1.set注入。 通过setxxx() 赋值
赋值,默认使用set方法
依赖注入底层是通过反射实现的。
2. 构造器(构造方法)注入 。 通过构造方法赋值
3.P命名空间注入。
(1)这个是 通过set赋值: <property…>
(2)这个是 通过构造器赋值: <constructor - arg>
这个value要与构造器的参数顺序严格一致
如果顺序不一致: 可以通过索引 index指定位置,也可以用name去指定参数名也可以,选择的方法有多个。
(3) P命名空间:
首先先新增加一个命名空间,如下: