一、Spring是一个轻量级的IoC和AOP容器框架
1、轻量级:Spring是非侵入式的,开销小。基于Spring开发的系统对象一般不依赖于Spring类。
2、IoC: 实例化对象时通过依赖注入类,是被动的接收依赖对象而不是主动查找。
3、AOP:将业务逻辑从系统服务中分离,实现内聚开发。
4、容器:包含和管理系统对象的生命周期和配置。通过配置设定bean是单一实例还是每次请求产生一个实例,并设置bean间的关系。
5、框架:通过xml文件将简单组件配置组合成复杂系统,提供了很多基础功能:持久化、事务管理等。
二、Spring七大模块
1、核心模块:采用工厂模式(BeanFactory)实现IoC,创建、配置和管理Bean。
2、应用上下文模块:扩展了BeanFactory,支持I18N国际化和系统生命周期事件及验证,添加了一些企业级服务如电子邮件、定时任务、JNDI访问、EJB集成、支持与模版框架(freemarker等)的集成。
3、web模块:在应用上下文模块基础上提供适合web系统的上下文,支持多项面向对象的任务,如多文件上传、自动将请求参数绑定到业务对象等。
4、AOP模块:支持面向切面,并引入metadata编程。
5、JDBC和DAO模块
6、O/R映射模块
7、MVC框架