总介:Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架
1.Spring优点:
- spring是一个开源的免费框架;
- spring是一个轻量级的、非入侵式的框架;
- 提供了控制反转(IOC)、面向切面编程(AOP)
- 支持事务的处理、对框架整合的支持
2.IOC创建对象的方式
(1)使用无参构造器创建对象(默认);
(2)使用有参构造创建对象、
- 下标赋值
- 类型匹配(不建议使用,容易重复)
- 通过参数名
3.AOP代理模式
(1)原生动态代理(JDK):这种代理模式是基于接口的方式,换句话来说就是代理类和目标类都实现了同一个接口,那么代理类和目标类的方法名就一样了
(2)CGLib动态代理:这种代理模式是代理类去继承目标类,然后重写目标类的方法,这样也可以保证代理类拥有目标类的同名方法;
4.bean的作用域
(1)单例模式(singleton):Spring默认机制,spring ioc 容器中只存在一个 bean 实例,即每次从容器中get的时候,都是使用的同一个对象
(2)原型模式(prototype):和单例模式相反,每次从容器中get的时候,都会产生一个新的对象
(3)web环境下的作用域:
- request:每次 http 请求都会创建一个 bean;
- session:同一个 http session 共享一个 bean 实例;
- global-session:用于 portlet 容器,因为每个 portlet 有单独的 session,globalsession 提供一个全局性的 http session。
5.spring自动装配bean的方式
(1)no:默认值,表示没有自动装配,应使用显示bean引用进行装配。
(2)byName:他根据bean的名称注入对象依赖项。(bean的id类型必须全局唯一)
(3)byType:它根据类型注入对象依赖项。(bean的class必须全局唯一)
(4)构造函数:通过构造函数来注入依赖项,需要设置大量的参数。
(5)autodetect:容器首先通过构造函数使用Autowired装配,如果不能,则通过byType自动装配。
6.spring中的事务管理器
spring中事务是为了保证操作的一致性,保证事务的ACID(原子性、一致性、隔离性、持久性)原则
(1)声明式事务:AOP
(2)编程式事务:需要在代码中进行事务配置