一、Spring
Spring框架是开源Java平台,是轻量级的框架;
主要特征:
- 轻量:从大小与开销两方面而言Spring都是轻量级;
- 非侵入式:Spring应用的对象不依赖于特定的Spring类;
- IOC(控制反转):将对象的使用权交由spring管理,容器负责对于对象的生命周期进行管理,使用者要使用主动将对象传递给使用者,达到松耦合目的;
Spring IOC - AOP(面向切面):spring支持面向切面编程,被应用逻辑和系统服务分开,例如:事务、日志等;(AOP是通过预编译方式或者是运行期期间动态代理实现功能扩展而不用修改源代码,通过AOP技术,实现一种通用的逻辑解耦,解决一些系统层面的问题,如日志、事务、权限等,从而实现高可用的可重用性和可维护性)
- 容器:包含并管理应用对象的配置和生命周期;
- 框架:可以将简单组件配置,组合成复杂的应用。
spring优势: 方便解耦、简化开发;对AOP的支持、对声明式事务的支持、方便集成各种优秀框架。
spring体系结构:
核心容器:
核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring表达式语言,Spring Expression Language)等模块组成,它们的细节如下:
数据访问/集成:
数据访问/集成层包括JDBC,ORM,OXM,JMS和事务处理模块,它们的细节如下: