spring IOC AOP实现原理

IoC(Inversion of Control)控制反转,也叫依赖注入

 核心通过反射机制实现

AOP(Aspect Oriented Programming)面向切面编程

  基于IOC,实现aop的技术主要有两类,一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式。

  JDK动态代理和CGLIB代理 JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行期间创建一个接口的实现类来完成对目标对象的代理;其核心的两个类是InvocationHandler和Proxy。

  aop应用场景:

    Authentication 权限检查        

    Caching 缓存        

    Context passing 内容传递        

    Error handling 错误处理        

    Lazy loading 延迟加载        

    Debugging  调试      

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

    Performance optimization 性能优化,效率检查        

    Persistence  持久化        

    Resource pooling 资源池        

    Synchronization 同步        

Transactions 事务管理    

  

 

posted @ 2018-04-17 22:34  striker400  阅读(159)  评论(0编辑  收藏  举报