spring知识总结:
1了解ioc和DI:ioc和DI是spring中很重要的概念,使用spring框架的项目基本上从始至终都运用了ioc和DI。
ioc就是控制反转,DI就是依赖注入
控制反转:正常的程序都是在项目需要对象的时候使用new关键字来创建一个对象,需要我们手动的来创建对象,这就是正转,反转的意思就是程序并不需要关心这个对象什么时候来创建,,而是交给ioc容器,将注册到ioc中的对象在我们项目需要的时候来为我们提供,这就是反转
依赖注入:对象与对象之间都有一定的依赖关系,也就是耦合关系,eg:
public class user{
private home h;
}
我们在使用user对象的时候也需要使用home对象声明的变量,因此我们需要显示的创建一个home对象传递给user,这是我们平常的用法,依赖注入就是将这种依赖关系也交给ioc容器,使得我们在需要使用user对象的时候将home对象传递给user
eg:
<bean id="a" class="com.lucheng">
<property name="h" ref="beanId">
</bean>
beanId就是在ioc容器中注册的另外一个对象也就是home'对象
依赖注入的几种形式:
1通过属性的getter和setter方法来注入,如下:
<bean id="" class="">
<property name="" value="">
</bean>
这种方式的property就是通过bean实例的setter方法来注入的
2.通过构造方法来注入
<bean id="" class="">
<constructor-arg name="" value="">
</bean>
这种方式的是通过bean实例的有参构造方法来注入的3通过接口注入
方式一和方式二都是spring支持的
spring还支持复杂的数据注入比如注入list map array properties
eg:
<bean id='" class="">
<property name="list/array">
<list>
<value></value>
</list>
</property>
<property name="map">
<map>
<entry key="" value=""></entry>
</map>
</property>
<property name="p"><props>
<prop key="driverclass">com.mysql.jdbc.driver</prop>
</props>
</property>
</bean>