聊一下 Spring 中的 IOC 和 AOP

发布于 2025-01-06 16:42:01 字数 648 浏览 12 评论 0

IOC(Inverse of Control):控制反转,也可以称为依赖倒置。

依赖注入和控制反转是同一个概念,具体的讲:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在 spring 中创建被调用者的工作不再由调用者来完成,因此称为控制反转。

创建被调用者的工作由 spring 来完成,然后注入调用者 因此也称为依赖注入。

spring 以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。

  • 设置注入的优点:直观,自然
  • 构造注入的优点:可以在构造器中决定依赖关系的顺序。

面向切面编程(AOP)完善 spring 的依赖注入(DI),面向切面编程在 spring 中主要表现为两个方面

  1. 面向切面编程提供声明式事务管理
  2. spring 支持用户自定义的切面

AOP 是作为面向对象的一种补充,主要用于处理系统中分布在各个环节的的横切的关注点,比如日志记录,异常处理,缓存,事物等等。

Spring AOP 使用的动态代理,所谓的动态代理就是说 AOP 框架不会去修改字节码,而是在内存中临时为方法生成一个 AOP 对象,这个 AOP 对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
27 人气
更多

推荐作者

闻呓

文章 0 评论 0

深府石板幽径

文章 0 评论 0

mabiao

文章 0 评论 0

枕花眠

文章 0 评论 0

qq_CrTt6n

文章 0 评论 0

红颜悴

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文