了解Spring的框架和包结构

Spring的七大模块

Spring功能日益强大,不断的版本更新中整合进各种技术,几乎成了企业级开发的御用框架,从开发手册来看,包含了以下七大模块:

Core模块是框架的最基础部分,并提供依赖注入(Dependency Injection)管理Bean容器功能

Context模块构建于Core包上,提供了一种框架式访问对象的方式,有些像JNDI注册。Context封装包继承了beans包的功能,还增加了国际化(i18N),事件传播,资源装载,以及透明创建上下文,例如通过servlet容器。

DAO模块提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs都适用。

ORM模块为流行的“关系/对象”映射APIs提供了集成层,包括JDO,Hibernate和iBatis。通过ORM包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。

AOP模块提供了符合AOP Alliance规范的面向方面的编程实现,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。

Web模块提供了基本的面向Web的综合特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的applicationcontext。当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。

Web MVC模块提供了面向Web应用的Model-View-Controller实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和web form之间。并且,还可以借助Spring框架的其他特性。

Spring常用jar包功能

  • spring-core ——  Spring的核心工具包,其他包依赖此包
  • spring-beans —— 所有应用都用到,包含访问配置文件,创建和管理bean等,是Spring IOC的基础实现
  • spring-context —— 提供在基础IOC功能上的扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持
  • spring-context-support  —— Spring context的扩展支持
  • spring-jdbc —— 对JDBC 的简单封装
  • spring-tx  —— 为JDBC、HIBERNATE、JDO和JPA提供的一致性的声明式和简单编程式事务管理
  • spring-web —— 包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
  • spring-webmvc —— 这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类
  • spring-aop —— Spring的面向切面编程,提供AOP(面向切面编程)的实现
  • spring-aspects —— Spring提供的对AspectJ框架的整合
  • spring-expression  ——  Spring表达式语言
  • spring-orm —— 整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现
  • spring-test  —— 对JUNIT等测试框架的简单封装
  • spring-jms —— 为简化jms api的使用而做的简单封装
  • spring-oxm —— Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换

 

posted @ 2022-03-19 13:54  残城碎梦  阅读(140)  评论(0)    收藏  举报