1、Spring是一个免费的框架,也可以说是容器。
2大特点IOC和AOP
2、什么是IOC?
(1)IOC就是控制反转,是指创建对象的控制权的转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中,并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。DI依赖注入,和控制反转是同一个概念的不同角度的描述,即 应用程序在运行时依赖IoC容器来动态注入对象需要的外部资源。
(2)最直观的表达就是,IOC让对象的创建不用去new了,可以由spring自动生产,使用java的反射机制,根据配置文件在运行时动态的去创建对象以及管理对象,并调用对象的方法的。
(3)Spring的IOC有三种注入方式 :构造器注入、setter方法注入、根据注解注入。
3、Spring对象的创建方式
-使用无参构造方法
<bean id="user" class="com.kuang.pojo.User">
<property name="name" value="秦疆"/>
</bean>
-使用有参数构器
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg index="0" value="狂神说Java"/>
</bean>
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg type="java.lang.String" value="qinjiang"/>
</bean>
-通过参数名字
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg name="name" value="秦疆"/>
</bean>
4、DI注入
- 构造器注入
- set注入
- P命名空间注入
构造器注入上面已经说过了
下面是set注入。上面这两种写法都可以,spring会将name值的每个单词首字母转换成大写,然后再在前面拼接上”set”构成一个方法名,然后去对应的类中查找该方法,通过反射调用,实现注入。