1.什么是Spring?
Spring 是分层的javaSE/EE 的轻量级开源框架,以Ioc 和Aop为内核,使用基本的JavaBean来完成以前只可能有EJB完成的工作,取代了EJB的臃肿,低效的开发。
在实际开发中,通常服务器采用三层体系架构,分别为表示层(WEB),业务逻辑层(Service),持久层(Dao),Spring对每一层都提供了技术支持。
表示层提供了与Strurts框架的整合,业务逻辑层可以管理实务,记录日志。持久层可以整合Hibernate等ORM框架。
2.Spring框架的优点
Spring具有简单,可测试和松耦合等特点。Spring不仅可以用于服务端开发,也可以应用于任何Java应用的开发中。支持AOP,支持声明性事务处理。方便整合其他优秀的框架。
spring 采用的是分层架构,他的功能元素大概有20个模块,灰色部分是重要的
1.Core Container(核心容器)
Beans 提供了BeanFactory(工厂的顶层接口),spring将管理对象成为Bean
Core 提供了Spring框架的基本组成部分,包括Ioc和DI(依赖注入)
context建立在Core和Beans模块的基础之上,它是访问定义和配置的任何对象的媒介。
spEL 是spring表达式
2.Data Access/Integration(数据访问/集成)
JDBC 减少在开发过程中对数据库操作的编码
ORM 对象关系映射
Transactions 支持对实现特殊接口以及所有POJO类的编程和声明的事务管理
3.WEB
Servlet 也称spring-webMvc
Web 提供基本的web开发集成特性,如文件上传,使用Servlet监听器来初始化Ioc容器以及Web应用上下文
4.其他模块
Aop 提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能分离,降低耦合性。
Aspects 提供了与ASpectj的集成功能。 Aspectj是一个功能强大且成熟的面向切面编程(Aop)框架