Spring的基础知识。
一、Spring 的概念
1.什么是spring,
Spring是分层的javaSE/EE full-stack轻量级开源框架,以IoC(Inverse of control控制翻转)和AOP(Aspect Oriented Programming面向切面编程)为内核,使用基本的JavaBaen来完成以前只可能由EJB完成的工作,取代了EJB的臃肿,低效的开发模式。
2.spring对三层结构的支持
3.spring的体系结构
beans:提供了beanfactorycore:
core:spring的基本组成部分包括控制翻转(IoC)和依赖注入
context:建立在Core和Beans的基础之上,它是访问定义和配置的任何对象的媒介。Contet也称为上下文对象,可以理解为仓库或者是工厂。
EL表达式语言:Spring3.0之后新增的模块,是运行时查询和操作对象图的强大的表达式语言
数据访问层:提供了一个JDBC的抽象层,大幅度减少了在开发过程中对数据库操作的编码
ORM对象关系映射模块:对流行的对象关系映射API,包括JPA.JDO和MyBatis提供了集成层的支持
OXM:提供了一个支持对象XML映射的抽象实现,如JAXB\XMLBeans、castor、Jibx和xstream
JMS:java消息传递服务,包含使用和产生信息的特性4.1版本后支持与spring-message模块的集成
Transactions:对实现特殊接口以及所有POJO类的编程和声明式的事务管理
web:Spring4.0以后新增的模块,提供了websocket和sockjs的实现,以及对stomp的支持
Spring-webmvc:包含spring模型-视图-控制器(MVC)和REST web services实现的WEB程序
web:提供了web开发的特性,如:文件上传、使用Servlet监听器来初始化IoC容器以及WEB应用上下文
Portlet:提供了在portlet环境中使用MVC实现,类似Servlet模块的功能
AOP:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性
Aspects:提供了与AspectJ的集成功能,AspectJ是一个功能强大而且成熟的面向切面编程(Aop)框架
Instrumentation:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用
Messaging:Spring4.0以后新增的模块,它提供了对消息传递体系结构和协议的支持
Test:提供了对单元测试和集成测试的支持