spring有两大核心,IOC和AOP
IOC即控制反转,通常我们在项目当中需要手动new去创建对象,这种方式不利于对对象的管理,现在我们将对象的创建权利反转给spring容器,这就是控制反转。
spring容器在实例化对象的时候,会根据对象之间的依赖关系,自动完成属性注入工作,这就是依赖注入
AOP即面向切面编程,底层是通过动态代理的机制来实现的,支持jdk和cglib两种。
默认通过jdk动态代理。通常我们在项目当中,一些公共功能的实现可以通过aop来
进行解耦和统一实现,比如事务管理、日志、权限等等。
我们在项目当中的事务管理是这样配置的
1:声明spring的事务管理器 transactionManager
2:配置一下事务增强的传播特性 tx:advice tx:method
对于增删改开头的方法,使用事务进行管理
对于查询开头的方法,只读模式
3:配置切面,通常我们切面设置在service实现类这一层 pointcut