Spring是SE、EE开发的一站式框架
web层:SpringMVC
Service(业务)层:Spring的Bean管理,声明式事务
DAO层:ORM模块、JDBC模板
IOC解耦、AOP拓展
IOC:控制反转,对象的创建权反转给Spring
DI:依赖注入,Spring创建对象的过程中,将这个对象所依赖的属性设置进来
一、Bean(类)的相关配置
1、<bean>标签的id和name的配置
id:使用了约束中的唯一约束。里面不能出现特殊字符
name:没有唯一约束(理论上是可以重复,但是开发不用),可以出现特殊字符(和其他框架整合可能会用到)
2、Bean的生命周期相关配置
init-method:bean被初始化的时候执行的方法
destroy-method:bean被销毁的时候执行的方法(bean是单例创建,工厂关闭)
3、Bean的作用范围的配置
scope bean的作用范围
singleton 默认的,spring会采用单例模式创建这个对象
prototype 多例模式
request 应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中
session 应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中
globalsession 应用在web项目中,必须在porlet环境下使用,但是如果没有这种环境,相当于session
二、Spring的属性注入(类属性注入)配置
1、构造方法的方式的属性注入
<bean id="" class="">
<constructor-arg name="" value="" />
</bean>
2、Set方法的方式的属性注入
<bean id="" class="">
<property name="" value="" />(value设置的是普通类型的值)
<property name="" ref="" /> (ref设置的是其他的类的id或name)
</bean>
3、(了解)
4、(了解)
5、P名称空间的属性注入(Spring2.5以后的版本)
通过引入P名称空间完成属性的注入:要在xml中配置xmlns:p=
普通属性:P:属性名="值"
<bean id="" class="" p:XXX="" p:YYY="">
对象属性:P:属性名-ref="值"
<bean id="" class="" p:XXX="" p:YYY-ref="">
6、SpEL的属性注入(Spring3.0版本以后):Spring Expression Language
写法:#{表达式,如值或方法等}
7、Spring的集合类型属性注入
<bean id="" class="">
<property name="">
<list> --或者set、map,如果是map,则为<entry key="" value="">
<value>XXX</value>
<value>XXX</value>
</list>
</property>
</bean>
三、Spring的分模块开发的配置
1、在加载配置文件的时候,加载多个
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(多个配置文件);
2、在一个配置文件中引入多个配置文件
在配置文件中加如该标签<import resource="XXX.xml">