Spring 不是一个单纯的应用框架,它有很多应用框架,并且这些框架广泛的应用于项目开发中,使用它们能够帮助简化开发项目,那spring框架有哪些?下面来我们就来给大家讲解一下。
Spring 已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个不同子项目(模块)组成的成熟技术,例如 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等。
spring框架有哪些模块?
1. Spring Core:
Core 封装包是框架的最基础部分,提供 IOC 和依赖注入特性。这里的基础概念是 BeanFactory,它提供对 Factory 模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
2.Spring Context:
构建于 Core 封装包基础上的 Context 封装包,提供了一种框架式的对象访问方法,有些象 JNDI 注册器。Context 封装包的特性得自于 Beans 封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和 Context 的透明创建,比如说通过 Servlet 容器。
3.Spring DAO:
DAO (Data Access Object)提供了 JDBC 的抽象层,它可消除冗长的 JDBC 编码和解析数据库厂商特有的错误代码。 并且,JDBC 封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的 POJOs(plain old Java objects)都适用。
4.Spring ORM:
ORM 封装包提供了常用的“对象/关系”映射 APIs 的集成层。 其中包括 JPA、JDO、Hibernate 和 iBatis 。利用 ORM 封装包,可以混合使用所有 Spring 提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。
5.Spring AOP:
Spring 的 AOP 封装包提供了符合 AOP Alliance 规范的面向方面的编程实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用 source-level 的元数据功能,还可以将各种行为信息合并到你的代码中。
6.Spring Web:
Spring 中的 Web 包提供了基础的针对 Web 开发的集成特性,例如多方文件上传,利用 Servlet listeners 进行 IOC 容器初始化和针对 Web 的 ApplicationContext。当与 WebWork 或 Struts 一起使用 Spring 时,这个包使 Spring 可与其他框架结合。
7.Spring Web MVC:
Spring 中的 MVC 封装包提供了 Web 应用的 Model-View-Controller(MVC)实现。Spring 的 MVC 框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和 Web Form 之间。并且,还可以借助 Spring 框架的其他特性。
Spring 框架主要有七个模块,每个模块都有其独特的作用,另外Spring 的用途不仅仅限于服务器端的开发,绝大部分 Java 应用都可以从 Spring 中受益,最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。
推荐阅读: