SpringAOP的在实际应用中场景有哪些?主要就是事务和日志还有权限认证这一部分
1)Authentication 权限
2)Caching 缓存
3)Context passing 内容传递
4)Error handling 错误处理
5)Lazy loading 懒加载
6)Debugging 调试
7)logging,tracing,profiling and monitoring 记录跟踪 优化 校准
8)Performance optimization 性能优化
9)Persistence 持久化
10)Resource pooling 资源池
11)Synchronization 同步
12)Transactions 事务
13) Logging 日志
如果被代理的目标对象实现了至少一个接口,则会使用JDK动态代理。所有该目标类型实现的接口都将被代理。若该目标对象没有实现任何接口,则创建一个CGLIB代理。
如果你希望强制使用CGLIB代理,(例如:希望代理目标对象的所有方法,而不只是实现自接口的方法)那也可以。
SpringAop中怎样使用cglib代理
1)如果委托类没有实现接口,spring则会自动选择cglib代理模式进行代理
2)也可使用注解或者xml配置的形式来:
1.注解在springboot中
@EnableAspectJAutoProxy(proxyTargetClass = true
2.xml配置:
|aop:config proxy-target-class=“true”|
…
|/aop:config|
3.application配置:在springboot中
spring.aop.proxy-target-class=true