内容来自《Java Web 程序员面试宝典》

【出现频率】★★★★★ 【学习难度】★★☆☆☆

Spring的两大核心是IoC和AOP。IoC(Inversion of Control)意为控制反转。AOP(Aspect-Oriented Programming)意为面向切面编程。

Spring所有功能设计与实现基于以下四大设计原则。

1)使用 POJO 进行轻量级和最小侵入式开发。

2)通过依赖注入和面向接口编程实现松耦合。

3)通过 AOP 和习惯大于约定进行声明式编程。

4)使用AOP和模板(template)减少模块化的代码。