如何通过程序来实现AOP写法
导包 spring-aop.jar aspectjwarver.jar
核心配置文件的上部添加一个头信息
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
https://www.springframework.org/schema/aop/spring-aop.xsd
告知Spring帮我们进行对象/切面的管理
<bean id="controller" class="controler.TestController">
<bean id="aspect" class="aspect.Aspect1">
需要做一个配置说明 指向切面对象 切入点 通知/建议的配置
<aop:config>
<!--说明哪一个是我的切面对象-->
<aop:aspect id="" ref="aspect">
<!--说明一个切入点方法 目标对象的方法-->
<aop:pointcut id="" expression="execution(* 包名.类名.方法名(参数))">
<!--设置连接点方法执行的方式 通知/建议-->
<aop:before> <aop:after-returning> <aop:after-throwing>
<aop:after> <aop:around>
</aop:aspect>
</aop:config>
配置之后我们还是按照之前一样 直接访问目标即可
3.理解思想后 能在开发中想到什么时候用关键
参考之前如何使用Filter 动态代理 责任链设计模式 与链表结构的区别
如果切面对象不止一个
切面对象执行的顺序 配置文件的顺序
每一个切面中有好多不同通知/建议方式
前置+后置(每一个都是一个单独的方法)
**环绕(方法是一个 方法内有参数 优点类似FilterChain)
两种方式最终的结果看似是一样 底层机制有何不同