Spring是什么?
Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用。
是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
从大小于开销两方面而言Spring是轻量级的;
通过控制反转(IoC)的技术达到松耦合的目的;
提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
包含并管理应用对象的配置和生命周期,这个意义上是一种容器。
将简单的组件配置、组合成为复杂的应用,这个意义上是框架。
Spring的学习网站:
官网:http://spring.io
官方文档: http://spring.io/projects/spring-framework
Spring的优点
在Spring上开发应用简单;
在Spring上开发应用方便;
在Spring上开发应用快捷。
Spring带来了复杂JavaEE开发的春天。
Spring Framework Runtime

从下到上
Test: 单元测试
Core Container: 核心容器。容器是Spring框架最核心的部分,它负责Spring应用中的Bean的创建、配置和管理。
Bean: Bean容器
Core: 核心的一些包、工具
Context: 上下文
SpEL: Spring Expression Language,Spring表达式语言。
依赖注入和控制反转基本由core和bean这两个jar包提供。
BeanFactory是bean模块非常重要的接口,是bean容器最上层的接口。
3. 功能组件
AOP: 在AOP模块中,Spring对面向切面编程提供了丰富的支持。这个模块是Spring应用系统开发切面的基础。
Aspects
Instrumentation
Messaging: 消息
4. Data Access/Integration(数据访问与集成):
5. Web and remotiong: Web远程调用。
Spring的作用
容器;
提供了对多种技术的支持:
JMS;
MQ支持;
UnitTest;
其它。
3. AOP(事务管理、日志等);
4. 提供了众多方便应用的辅助类(JDBC Template等);
5. 对主流框架(Hibernate等)提供了良好的支持。
Spring的应用范围
构建企业应用(SpringMVC + Spring + Hibernate/ibatis);
单独使用Bean容器(Bean管理);
单独使用AOP进行切面处理;
其它的Spring功能,如对消息的支持等;
在互联网中的应用。




