手写spring(7)- AOP模拟实现

本文介绍了如何使用AOP在Spring中模拟实现,主要依赖BeanPostProcessor的postProcessorAfterInitialization方法。在项目实践中,通过JDK动态代理而非cglib实现AOP,由于JDK动态代理要求目标bean实现接口,故创建了UserService接口并让UserServiceImpl实现之。在bean初始化后,通过beanPostProcessor生成代理对象并注入到Spring容器,原始对象则不被注入。
摘要由CSDN通过智能技术生成

AOP就是通过BeanPostProcessor的postProcessorAfterInitialization方法(初始化后)实现的

AOP常见的时候方法有cglib与JDK动态代理,项目中采用JDK动态代理实现AOP。使用JDK动态代理要求bean实现接口,项目中定义了UserService这个接口

public interface UserService {
   
    void test();
}

UserServiceImpl实现了UserService接口

public class UserServiceImpl implements UserService

在bean生命周期最后一步-初始化后,调用beanPostProcessor的postProcessorAfterInitialization方法,生成代理对象,将代理对象注入到spring容器中,原始对象target没有注入到spring容器中

// postProcessorAfterInitialization 初始化后方法
for (<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值