Spring是由Rob Jonson租住和开发的一个分层的JavaEE/SE一站式(full stack)轻量级开发框架,他的核心思想是控制翻转(Inversion of Control IOC)和面向切面(Aspect Oriented Programming, aop)的编程,其中IoC是Spring的基础,它支撑着Spring对Java Bean的管理功能;Aop是Spring的重要特性,AOP是通过预编译的方式和运行期间动态代理实现程序功能,即在不修改代码的情况下,为程序统一添加功能。
Spring贯穿于表现层、业务逻辑层和持久层:
在表现层提供了Spring MVC框架
在业务逻辑层可以管理事务、记录日志
在持久层可以整合MyBatis、Hibernate、JDBCTemplate等技术
Spring是模块化的,允许使用者只选择使用自己的模块, Spring 框架采用分层架构,根据不同的功能被划分成了21个模块,主要分成8大模块
1. 核心容器
Spring 的核心容器是其他模块建立的基础,在Spring的功能体系中起着支撑作用,是其它模块的基石。由 Beans 模块、Core 核心模块、Context 上下文模块和 SpEL 表达式语言模块组成,没有这些核心容器,也不可能有 AOP、Web 等上层的功能。具体介绍如下。
Beans 模块
Bean模块提供了BeanFactory类,是工厂模式的经典实现,Bean模块的主要作用是创建和管理Bean对象。