8

Spring IOCSpring AOP有什么区别及其重要性?

4

3 回答 3

12

你在网上搜索过 IoC 和 AOP 吗?两者都有很多参考。

简而言之,IoC 允许外力决定代码将使用什么实现,而不是由代码决定实现。“外力”可能是配置文件、单元测试、其他不同的代码等。

AOP 允许在受这些关注点影响的代码之外实现横切关注点。

Spring 的“目的”包括 IoC 和 AOP,但其范围远远超出了这些。

更多详情请查看。

控制容器的反转和依赖注入模式面向方面的编程 还要检查这个

什么是简单英语的AOP、依赖注入和控制反转

IoC、AOP 等

于 2013-03-28T06:34:46.203 回答
3

Spring IOC:在简单的答案中,通常您使用new运算符创建对象并将自己设置为 getter 和 setter。所以,是的,我们new在 Java 中使用运算符来创建对象。这样做没有任何坏处。但是,当您的项目规模增长并且有很多开发人员在工作,并且您希望实现基于 POJO 的编程时,您可以使用 DI。那么也许你的问题出现了——为什么我不能自己编码呢?当然,您可以使用反射、注释和 XML 的强大功能。但是,其他人已经对此进行了编码,那么为什么不重用第三方呢?有很多选项供您选择;春天可能是最好的。它管理从对象创建到销毁的对象生命周期。您使用 Spring DI 容器创建和设置的对象,但您不自己创建它们。

Spring AOP:与横切关注点有关。这意味着在大型系统中,通用功能分散在不同的模块中。所以AOP提供了一种最简单的方法来以'aspect'的形式取出一个通用的实现。在这种情况下,您也可以使用代理概念编写自己的实现,但您可以重用基于代理的代码,即使用 Spring 实现 APO 联盟。

于 2013-05-07T11:49:15.463 回答
1

Spring IOC 的目标是减少组件之间的显式依赖关系,而 Spring AOP 的目的是可能通过强制执行某些常见行为来将组件连接在一起(阅读:NOT Interface)

由于 Spring AOP 的目的是跨组件强制执行某些行为。因此,Spring IOC 可以方便地实现此目的

于 2016-03-29T17:22:30.247 回答