Sring AOP(简记)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sring AOP(简记)相关的知识,希望对你有一定的参考价值。

什么是AOP

  AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。

  实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

使用场景

  Authentication 权限

  Caching 缓存

  Context passing 内容传递

  Error handling 错误处理

  Lazy loading 懒加载

  Debugging  调试

  logging, tracing, profiling and monitoring 记录跟踪 优化 校准

  Performance optimization 性能优化

  Persistence  持久化

  Resource pooling 资源池

  Synchronization 同步

  Transactions 事务

配置AOP(demo)

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource1" />
</bean>

<tx:advice id="tx-advice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" rollback-for="java.lang.Exception" />
</tx:attributes>
</tx:advice>

 

<aop:config>
<aop:pointcut expression="execution(public * com.lizhiji.service.*.*(..))"
id="pointcut" />
<aop:advisor advice-ref="tx-advice" pointcut-ref="pointcut" />
</aop:config>

AOP代理对象生成

在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。

 

以上是关于Sring AOP(简记)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 855B Marvolo Gaunt's Ring

Codeforces 855B - Marvolo Gaunt's Ring

什么是spring的ioc aop

spring除了aop和ioc还有别的嘛?

spring 中 啥是ioc

Sring类的codePointAt()方法