Spring框架的两大核心是控制反转与面向切面编程。
1.控制反转
控制反转指的是将对象的创建和依赖注入由应用代码转移到了Spring容器中进行,即由Spring容器负责创建对象和管理它们之间的依赖关系。这样,应用代码只需要关注业务逻辑的实现,而不需要关注对象的创建和管理,降低了应用代码的复杂度,提高了代码的可重用性和可维护性。
其中依赖注入作为Spring框架中的一种设计模式,用于实现控制反转。它是一种将对象之间的依赖关系从硬编码中解耦的方法。通过依赖注入,Spring框架可以在运行时自动为类的属性、构造函数或方法参数提供所需的依赖对象,从而实现对象之间的松耦合。
2.面向切面编程
面向切面编程是指将与业务逻辑无关的代码〈如日志、安全、事务等)从业务逻辑中剥离出来,以便于统一管理维护。通过AOP,我们可以将这些与业务逻辑无关的横切关注点定义为切面,并将它们织入到业务逻辑中,从而实现了业务逻辑与横切关注点的解耦。比如我们可以利用AOP来实现全局统一登录校验