Spring框架的升级,其实就是配置文件瘦身过程。简化就是把复杂的单词简单化,简写。到注释
一,IoC(控制反转、Inversion of Control)和 DI(Dependency Injection、依赖注入)
把依赖注入到某个组件中去。
一共分为3种:
- 设值注入 (setter injection)
- 构造注入 (constructor injection)
控制反转:找女朋友。A。自己new一个; B。去通过工厂获取 C。接受spring的容器的安排。
前面两种方式,都需要调用组件【主动】去获取被依赖组件;到了第三种方式,调用组件只要【被动】接收容器的注入即可。
——如果站在“调用组件”的角度来看问题,由原来的主动,变成了被动接收容器的注入,控制关系反过来。
——如果站在“容器”的角度来看问题,容器负责为“调用组件”注入依赖组件 —— 依赖注入。
/*****************************
Spring的历史:
1.0、1.1,W3C建议XML多用子元素、少用属性。
<property name="name">
<value>旺财</value>
</property>
1.2
<property name="name" value="旺财"/> = setName("旺财")
2.0
<!-- 导入p标签,和c标签 -->
p:name="旺财" p:userDao-ref="bean的ID"
c:_0="sss" 指定第一个构造器参数。 c:_0-ref="beanid"
c:_1="sss" 指定第二个构造器参数。 c:_1-ref="beanid"
3.0
SpEL, 配置文件得到更大程度的简化——彻底消灭了子元素。
Spring框架的升级,其实就是配置文件瘦身过程。