对SpringIOC和SpringAOP的理解

SpringIOC和SpringAOP是Spring的两个核心组件。

SpringIOC:SpringIOC是一个管理bean的容器,能够帮我们管理bean的整个生命周期,在没有SpringIOC的时候,我们需要自己手动的管理bean以及bean的依赖关系,这样会增加耦合,而有了SpringIOC,它能帮我们管理bean以及bean的依赖关系,使得代码解耦。

DI:依赖注入,DI是SpringIOC的实现方式,由容器动态的将依赖关系注入到组件中。

依赖注入的三种方式:setter注入构造器注入接口注入

SpringAOP:面向切面编程,它能抽取出非核心业务代码根据要织入的位置,统一解决一批组件的共性问题,比如:记录日志、事务处理等。

SpringAOP的实现方式:SpringAOP有两种实现方式:

(1)JDK动态代理:通过反射来接收被代理的类,并且被代理的类要实现接口。JDK 动态代理的核心是 InvocationHandler 接口和 Proxy 类 。

(2)CGLib动态代理:如果被代理的类没有实现接口,则可以用CGLib动态代理,CGLIB 是通过继承的方式做的动态代理,因此如果某个类被标记为 final ,那么它是无法使用 CGLIB 做动态代理的。

Spring事务基于SpringAOP实现:在方法前后进行拦截,方法开始前开启事务,方法结束后提交事务或者回滚事务。

posted @ 2023-05-29 10:52  程序员_YHB  阅读(23)  评论(0)    收藏  举报