AOP中使用的注解 @Service @Aspect @component

@Service标注将这个类在扫描时注册到Spring容器管理

@Aspect是将该类声明为切面类

@component把该类实例化放入到spring容器中,

@五种增强("execution(public 返回值 地址.*(..))")

AOP实现的大致流程即为

将目标方法的类通过@Service注册到Spring容器管理,以便之后生成代理对象

通过@Aspect声明切面类,然后@component放入spring容器中

通过@五种增强("execution(public 返回值 地址.*(..))")建立切面

在ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("app.xml");
代码执行时创建IOC容器,@Service标注的类中方法与@Aspect@component标注的切面类中切入点表达式匹配,默认情况下IOC自动为@Service标注的类创建代理类并创建相应的代理对象,之后通过applicationContext.getBean(class);得到该类即可操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章