什么是 Spring IOC 和 Spring AOP 的区别以及它们的重要性?
什么是 Spring IOC 和 Spring AOP 的区别以及它们的重要性?
你是否在网络上搜索过IoC和AOP?对两者都有很多参考资料。
简而言之,IoC允许外部力量来决定代码所使用的实现方法,而不是由代码本身来决定。这个“外部力量”可能是配置文件、单元测试、其他不同的代码等等。
AOP允许切面关注点在受影响代码之外实现。
Spring的“目的”包括IoC和AOP,但其范围远远超出此。
更多详情请查看:
Inversion of Control Containers and the Dependency Injection pattern 和 Aspect-oriented programming 还有这个:
What is AOP, Dependency Injection and Inversion Of Control in Simple English
Spring IOC: 简单来说,通常情况下您使用new
操作符创建对象并为getter和setter设置自己。所以,在Java中我们使用new
操作符创建对象是没有任何问题的。但是,当您的项目规模增大且有许多开发人员参与时,您希望实现POJO编程,这时就可以使用DI。那么也许您会问 - 为什么我不能自己编写代码呢?当然,您可以使用反射、注解和XML的强大功能。但是,一些其他人已经编写了此类代码,为什么不重用第三方代码呢?有很多选择供您选择;Spring可能是最好的选择。它管理从对象创建到销毁的对象生命周期。您使用由Spring DI容器创建和设置的对象,而不是自己创建它们。
Spring AOP: 它涉及横切关注点。这意味着在大型系统中,常见的功能分散在不同的模块中。因此,AOP提供了一种最简单的方式,将通用实现以“方面”的形式取出。在这种情况下,您也可以使用代理概念编写自己的实现,但是您可以重用基于代理的代码,即使用Spring实现的APO联盟。