美文网首页
spring中的IOC和AOP总结

spring中的IOC和AOP总结

作者: 柳蒿 | 来源:发表于2019-07-22 22:44 被阅读0次

IOC

依赖注入(DI),控制反转(IOC):在传统的编程中,如果要借用一个类,往往要由借用者来创建这个类。但在spring框架中,则由spring框架来创建,然后注入调用者,因此成为控制反转。

依赖注入的两种方式

  • 设置注入

  • 构造注入

AOP

面向切面编程(AOP):通过预编译的方式和运行时使用动态代理,使功能统一维护的一种技术(spring容器中管理对象生成代理对象的),底层是基于代理技术实现的。使用AOP技术可以将业务逻辑的各部分分离开,降低耦合,提高效率。是对依赖注入的补充,完善了面向对象编程(OOP)

通俗解释:面向切面编程(AOP)就是纵向的编程。比如业务A和业务B现在需要一个相同的操作,传统方法我们可能需要在A、B中都加入相关操作代码,而应用AOP就可以只写一遍代码,A、B共用这段代码。并且,当A、B需要增加新的操作时,可以在不改动原代码的情况下,灵活添加新的业务逻辑实现


AOP的主要特点

  • 允许用户自定义切面

  • 提供声明式事务管理

AOP框架的特征

  • 源代码无关性

  • 各个步骤之间有良好的隔离性

AOP的主要应用场景

AOP主要一般应用于签名验签、参数校验、日志记录、事务控制、权限控制、性能统计、异常处理等。


AOP中的术语

通知: 通知定义了切面是什么以及何时使用的概念。Spring 切面可以应用5种类型的通知:

  • 前置通知(Before):在目标方法被调用之前调用通知功能。

  • 后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么。

  • 返回通知(After-returning):在目标方法成功执行之后调用通知。

  • 异常通知(After-throwing):在目标方法抛出异常后调用通知。

  • 环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为

连接点:是在应用执行过程中能够插入切面的一个点。

  • 切点: 切点定义了切面在何处要织入的一个或者多个连接点。
  • 切面:是通知和切点的结合。通知和切点共同定义了切面的全部内容。
  • 引入:引入允许我们向现有类添加新方法或属性。
  • 织入:是把切面应用到目标对象,并创建新的代理对象的过程。切面在指定的连接点被织入到目标对象中。在目标对象的生命周期中有多个点可以进行织入:
    • 编译期: 在目标类编译时,切面被织入。这种方式需要特殊的编译器。AspectJ的织入编译器就是以这种方式织入切面的。
    • 类加载期:切面在目标加载到JVM时被织入。这种方式需要特殊的类加载器(class loader)它可以在目标类被引入应用之前增强该目标类的字节码。
    • 运行期: 切面在应用运行到某个时刻时被织入。一般情况下,在织入切面时,AOP容器会为目标对象动态地创建一个代理对象。SpringAOP就是以这种方式织入切面的。

几篇还没看的博客
https://blog.csdn.net/gloomy_114/article/details/68946881
https://blog.csdn.net/qq_26562641/article/details/54285942

https://blog.csdn.net/qq_22654611/article/details/52606960

相关文章

  • Spring中的两大核心(Spring是一个IOC和AOP容器框架) IOC与aop IOC(spring的核心思...

  • 月薪45K的Java岗面试题首次曝光,掌握这些Offer指定跑不

    Spring篇 ======= Spring的IOC和AOP机制? Spring中Autowired和Resour...

  • Spring(二)-Spring AOP

    1. Spring AOP 回顾 Spring(一)中,我分享了 Spring的发展 IoC容器相关IoC思想和其...

  • Spring AOP 要点

    Spring对AOP的支持 Spring中AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC...

  • 2018-08-20

    spring框架中IoC和aop 1. IoC(Inversion of Control) (1) 控制反转:这...

  • Spring AOP实战和源码解析

    Spring AOP简介 说起Spring框架,我们最先想到的就是IOC和AOP了,如果说IOC是Spring的核...

  • AOP代理

    Spring中的AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC容器负责管理。AOP代理可...

  • 理解springAop的正确姿势

    Spring有两大核心,IOC和AOP。IOC在spring项目中基本无处不在,而AOP则用的基本比较少。 AOP...

  • 漫画说Spring AOP底层原理

    1、Spring中配置的bean是在什么时候实例化的? 2.描述一下Spring中的IOC、AOP和DI IOC和...

  • spring中的IOC和AOP总结

    IOC 依赖注入(DI),控制反转(IOC):在传统的编程中,如果要借用一个类,往往要由借用者来创建这个类。但在s...

网友评论

      本文标题:spring中的IOC和AOP总结

      本文链接:https://www.haomeiwen.com/subject/gloglctx.html