spring 知识点

1.什么是IOC?

IOC是一种设计思想,将原本在代码中,手动创建对象的控制权,交给spring框架来管理。

IOC容器实际上就是个map,存放各种对象,这样就可以很大程度上简化应用的开发,把应用从复杂的依赖关系中,解放出来。

IOC容器就像个工厂,当需要创建一个对象时,只需要配置好配置文件,添加注释即可,不需要考虑对象是如何被创建出来的,大大增加了项目的可维护性且降低了开发难度。

2.什么是AOP?

AOP面向切面编程,将那些与业务无关,却被业务模块共同调用的逻辑封装起来,减少重复代码,降低模块间的耦合。

使用aop之后,将一些通用功能抽取出来,在需要用到的地方直接使用,这样就可以简化代码,提高拓展性。

3.Spring AOP / AspectJ AOP 的区别?

Spring AOP属于运行时增强,而AspectJ是编译时增强。

Spring AOP基于代理,而AspectJ基于字节码操作。

AspectJ相比于Spring AOP功能更加强大,但是Spring AOP相对来说更简单。如果切面比较少,那么两者性能差异不大。但是,当切面太多的话,最好选择AspectJ,它比SpringAOP快很多

原文地址:https://www.cnblogs.com/fuyublog/p/11584069.html