Spring MVC 基础
  • Spring 介绍
  • Spring 基础
  • 附录:web.xml配置详解
Powered by GitBook
On this page
  • Spring 框架模块
  • 1)核心容器(Core Container)
  • 2) AOP和检测(Instrumentation)
  • 3) 消息处理(messaging)
  • 4) 数据访问与集成
  • 5) Web
  • 资料

Was this helpful?

Spring 介绍

NextSpring 基础

Last updated 6 years ago

Was this helpful?

Spring官网:

Spring项目初始化:

Spring 框架模块

Spring架构各个组件的功能如下:

1)核心容器(Core Container)

核心容器包括spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring表达式语言,Spring Expression Language)等模块。

spring-core和spring-beans模块是Spring框架的基础,包括控制反转和依赖注入等功能。BeanFactory是工厂模式的微妙实现,它移除了编码式单例的需要,并且可以把配置和依赖从实际编码逻辑中解耦。

ContextCore和Bean(spring-context)模块是在模块的基础上建立起来的,它以一种类似于JNDI注册的方式访问对象。Context模块继承自Bean模块,并且添加了国际化(比如,使用资源束)、事件传播、资源加载和透明地创建上下文(比如,通过Servelet容器)等功能。Context模块也支持Java EE的功能,比如EJB、JMX和远程调用等。ApplicationContext接口是Context模块的焦点。spring-context-support提供了对第三方库集成到Spring上下文的支持,比如缓存(EhCache, Guava, JCache)、邮件(JavaMail)、调度(CommonJ, Quartz)、模板引擎(FreeMarker, JasperReports, Velocity)等。

spring-expression模块提供了强大的表达式语言用于在运行时查询和操作对象图。它是JSP2.1规范中定义的统一表达式语言的扩展,支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影、选择以及聚合等。

2) AOP和检测(Instrumentation)

spring-aop模块提供了面向切面编程(AOP)的实现,可以定义诸如方法拦截器和切入点等,从而使实现功能的代码彻底的解耦出来。使用源码级的元数据,可以用类似于.Net属性的方式合并行为信息到代码中。

spring-aspects模块提供了对AspectJ的集成。

spring-instrument模块提供了对检测类的支持和用于特定的应用服务器的类加载器的实现。spring-instrument-tomcat模块包含了用于tomcat的Spring检测代理。

3) 消息处理(messaging)

Spring 4 包含的spring-messaging模块是从Spring集成项目的关键抽象中提取出来的,这些项目包括Message、MessageChannel、MessageHandler和其它服务于消息处理的项目。这个模块也包含一系列的注解用于映射消息到方法,这类似于Spring MVC基于编码模型的注解。

4) 数据访问与集成

数据访问与集成层包含JDBC、ORM、OXM、JMS和事务模块。 (译者注:JDBC=Java Data Base Connectivity,ORM=Object Relational Mapping,OXM=Object XML Mapping,JMS=Java Message Service)

spring-jdbc模块提供了JDBC数据库抽象层,它消除了冗长的JDBC编码和对供应商特定错误代码的解析。

spring-tx模块支持编程式事务和声明式事务,可用于实现了特定接口的类和所有的POJO对象。 (译者注:编程式事务需要自己写beginTransaction()、commit()、rollback()等事务管理方法,声明式事务是通过注解或配置由spring自动处理,编程式事务粒度更细)

spring-orm模块提供了对流行的对象关系映射JPAAPI的集成,包括JDOHibernate、和等。通过此模块可以让这些ORM框架和spring的其它功能整合,比如前面提及的事务管理。

spring-oxm模块提供了对OXM实现的支持,比如JAXB、Castor、XML Beans、JiBX、XStream等。

spring-jms模块包含生产(produce)和消费(consume)消息的功能。从Spring 4.1开始,集成了spring-messaging模块。

5) Web

Web层包括spring-web、spring-webmvc、spring-websocket、spring-webmvc-portlet等模块。

spring-web模块提供面向web的基本功能和面向web的应用上下文,比如多部分(multipart)文件上传功能、使用Servlet监听器初始化IoC容器等。它还包括HTTP客户端以及Spring远程调用中与web相关的部分。

spring-webmvc模块(即Web-Servlet模块)为web应用提供了模型视图控制(MVC)和REST Web服务的实现。Spring的MVC框架可以使领域模型代码和web表单完全地分离,且可以与Spring框架的其它所有功能进行集成。

spring-webmvc-portlet模块(即Web-Portlet模块)提供了用于Portlet环境的MVC实现,并反映了spring-webmvc模块的功能。

6) Test

spring-test模块通过JUnit和TestNG组件支持单元测试集成测试和加载缓存。它提供了一致性地模拟对象和Spring上下文,也提供了用于单独测试代码的(mock object)。

资料

官方文档

例子:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/
http://docs.spring.io/spring-boot/docs/current/reference/html/index.html
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples
转 spring官方文档中文版
http://www.spring.io
https://start.spring.io/