Spring 学习(1)

Part 1 Overview of Spring Framework

闲暇时间看看Spring的文档,一边看一边记录翻译的。英语不好……

Core Container

核心容器由 spring-core,spring-beans,spring-contex,spring-context-support 和 Spring-expression 模块。

Spring-core 和Spring-beans 模块提供了框架基本的部分。包括反转控制和依赖注入特性。BeanFactory 是一个复杂的工厂模型,它移除了单例模式允许你把配置和说明从实际的代码逻辑中解耦。

Spring-context 模块建立在简直的基础上,由Core 模块和Beans模块提供: 这以意味着在框架式的管理下访问一个对象类似于访问一个 JNDI 记录。 Context 模块继承了Beans 模块的特性还添加了国际化的支持,事务广播,资源加载,透明上下文,例如:Serlvet 容器。Context 也支持 J2EE 的特性 如 EJB,JMX 。ApplicationContext 接口是 Context 模块中中要的部分。Spring-context-support 提供了一体化的第三方库到Spring 应用的支持如:缓存(EhCache, Guava, JCache),邮件(Java Mail),任务计划(CommonJ,Quartz)和模板引擎(FreeMarker,JasperReports,Velocity)。

Spring-expression 模块为在运行时查询和控制一个对象提供了强有力的语言解析能力。它是EL(unified EL)表达式的一个延伸,作为JSP2.1 的一个特性。语法支持setting和getting 方法设置属性值,获取属性值,方法调用 ,访问数组,集合和索引,逻辑和算数操作,变量名称,从Spring的IOC 容器中取回对象。它也支持List映射和选取。

AOP and Instrumentation

Spring-aop 模块提供了Aop支持,允许你面向切面的编程定义与实现。例如: 方法拦截器(Interceptors)切入点实现本来应该被分开的代码清楚的解耦。
分离Spring-aspects 模块提供了AspectJ的一体化集成

Spring-instrument模块提供了在应用服务器中类设备和类加载的实现。Spring-instrument-tomcat模块包含了Spring对Tomcat的设备代理。

Messaging

Spring框架4包含了Spring-messageing 模块,这个模块抽象了一提话工程的关键 比如: Message,MessageChannel,MessageHandler 和一些作为消息基础的基础应用服务。这个模块也包含注释(annotations)为了映射message到其它方法,有点像SpringMVC 的注释编程模型。

Data Access/Integration

数据访问层/集成层 包含 JDBC,ORM,OXM,JMSTransaction(事务) 模块。

Spring-jdbc 模块提供了 JDBC 的抽象,移除了冗长(tedious)的 JDBC 代码和官方指定的解析错误代码。

Spring-tx 模块支持类的编程模型和声明事务管理,她实现了专门的接口对于你的左右POJO。

Spring-orm模块为流行的对象关系映射API提供了集成层,包括 JPA,JDO,Heibernate 。使用Spring-orm 模块你可以整合Spring支持的左右特性使用所有的对象关系映射。例如:声明事务管理特性。

Spring-oxm 模块提供了一个抽象层,支持Object/XML 映射的实现,例如:JSXB,Castor,XMLBeans,JiBX,和 XStream

Spring-jms 模块(java-message-service):包含了一些生产和消费的特性,自从Spring4.1开始就提供了Spring-messageing模块的一体化集成。

Web

Web层由Spring-web,spring-webmvc,Spring-websocketspring-webmvc-portlet 模块。

spring-web 模块 提供了web方向的特性集成,比如 多文件的上传功能和使用Servlet Listener 对 IOC 容器初始化,还有一个web应用的上下文。它包括 HTTP 客户端和
Spring web组件的远程支持。

Spring-webmvc模块: 也叫 Web-Servlet 模块,包含Spring的 model-view-controller (MVC)和web 应用的REST Web 服务的实现。Spring 的MVC框架提供了域代码模型和web窗口之间的分离,也集成了所有Spring 框架的特性。

Spring-webmvc-portlet 模块: 也叫 Web-Portlet 。提供了MVC实现,被用在组件(Portlet)环境和镜像 基于Servlet 的Spring-webmvc 实现。

Test

spring-test 模块支持Spring组件的单元测试和集成测试(Junit ,TestNG),他提供了Spring ApplicationContext 的常量加载和缓存。它也提供了假对象,你可以用来独立测测试你的代码。

2.3 Usage scenarios

成熟有代表性的Spring web 应用

Spring de 声明事务管理特性使得web应用完全事务性,就像你是使用EJB一样。 你的所有业务逻辑可以被一个简单的POJO类实现,被Spring的IOC容器管理。另外的服务包括发送邮件和校验这是一个独立的web层,可以让你选择在哪里执行校验规则。Spring的ORMB支持整合JPA,heibernate和JDO,例如 当使用Hibernate的时候,你可以继续使用你已经存在的Mapping文件和标准的Hibernate SessionFactory 配置。 Form 控制器在web层和domain model 的无缝集成,移除了ActionForms的需要和或者其他一些为domain model 转变参数的类。

Spring中间件,使用第三方web框架

有的时候环境不允许你选择一个完全不同的框架。Spring 框架不强制你使用它的一切,他不是 all-or-nothing 的解决方案。现存的前端采用Struts、Tapestry,JSF 或者其它的UI框架,可以和Spring的中间件集成,这也允许你使用Spring的事务特性。 你需要简单用ApplicationContext和WebApplicationContext集成到web层安排业务业务逻辑。

远程使用场景

当你需要通过web 服务访问已经存在的代码,你可以使用Spring的Hessian-,Burlap-,Rmi-或者JaxRpcProxyFactory类,已经存在的应用中嵌入远程访问接口是不困难的。、

EJBs — 封装已经存在的POJOs

Spring框架也为企业级Java应用提供了一个访问抽象层。使你可以重复使用一个已经存在的POJOs和在可扩展的应用中封装他们成一个无状态的会话类。安全的web应用可能需要安全性声明。

猜你喜欢

转载自blog.csdn.net/v_junk/article/details/72841593
今日推荐