Spring复习与总结
什么是spring?
1、Spring是轻量级的开源的JavaEE框架
2、Spring可以解决企业应用开发的复杂性
3、Spring有两个核心的部分:IOC和AOP.
(1)IOC:控制反转,把创建对象的过程交给Spring进行管理
(2)Aop:面向切面,不修改源代码的情况下,进行功能增强
目的:
简化企业级应用程序开发,降低模块之间的耦合度.
有哪些模块?
test测试
核心模块: 生成bean,管理bean,核心基本功能,spEl表达式
DAO:jdbc管理,事务管理,orm(Object Relational Mapping)
IOC:
控制反转, 将程序中生成对象的控制权,反转给了spring框架(容器)
IOC底层原理:XML解析,工厂模式,反射机制
singleton和prototype区别
第一个区别:singleton单实例,prototype多实例
第二个区别:设置scope为singleton时,spring配置文件加载时就会创建单实例对象,程序关闭单例对象销毁
设置scope为prototype时,不是加载spring配置文件时创建对象,调用getBean方法才会创建一个多实例的对象,不在使用时,垃圾回收
DI: 依赖注入
创建对象时,向对象中的属性注入值,
构造方法注入
set方法注入
xml方式实现
注解方式实现
@Resource(name = "userDao") jdk自带的
@Autowired(required = true) spring的 根据bean的名称查找,根据类型
UserDao userDao;
AOP:
aop使用代理的思想,就是让别人代理我们去做某件事情.
在添加新的功能时,不需要修改源代码.
新功能都是一个公共的,与业务关系不大的.让代理对象去调用
AOP底层原理:AOP使用动态代理增强某个方法的功能
事务
编程式事务
声明式事务(使用) 只需要添加注解标签声明,DataSourceTransactionManager事务管理.