Spring 4 官方文档学习 Spring与Java EE技术的集成

Posted LarryZeal

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 4 官方文档学习 Spring与Java EE技术的集成相关的知识,希望对你有一定的参考价值。

本部分覆盖了一下内容:


使用Spring进行远程和web服务 介绍

Spring的远程支持可以使用多种技术。该远程支持简化了那些启用了远程服务的开发,由你的Spring POJOs实现即可。

目前,Spring支持下列远程技术:

  • Remote Method Invocation (RMI)。 虽然使用Spring支持的RmiProxyFactoryBeanRmiServiceExporter都是传统的RMI (使用java.rmi.Remote接口和java.rmi.RemoteException),且通过RMI invokers (使用任意Java接口)来透明地远程 。
  • Spring的HTTP invoker。Spring提供了一个特殊的远程策略 -- 允许通过HTTP进行Java序列化,支持任意Java接口 (就像RMI invoker)。相应的支持类是HttpInvokerProxyFactoryBeanHttpInvokerServiceExporter
  • Hessian。通过使用Spring的HessianProxyFactoryBeanHessianServiceExporter,你可以透明地暴露你的服务 -- 使用Caucho提供的轻量级、二进制、基于HTTP的协议。
  • Burlap。Burlap是Caucho的基于XML的Hessian替代者。Spring提供了支持类如BurlapProxyFactoryBeanBurlapServiceExporter
  • JAX-WS。Spring提供了对web services的远程支持 -- 通过JAX-WS (是JAX-RPC的继承者,由Java EE 5和Java 6引入)。
  • JMS。使用JMS作为底层协议来远程,由JmsInvokerServiceExporterJmsInvokerProxyFactoryBean类提供。
  • AMQP。使用AMQP作为底层协议来远程,由Spring AMQP项目支持。

 

Enterprise JavaBeans (EJB)集成 介绍

作为一个轻量级容器,Spring经常被认为是EJB的替代者。我们认为对于很多应用和使用场景来说,Spring作为一个容器,结合其丰富的支持功能--在事物、ORM和JDBC访问领域,是一个更好的选择。

然而,必须指出,使用Spring不会阻止你使用EJBs。事实上,Spring使得访问EJBs和实现EJBs及其功能变得更简单了。

本章,我们会看一下Spring如何帮助你访问和实现EJBs。Spring提供了特别的value -- 当访问无状态session beans (SLSBs)时,所以我们会从讨论这个开始。

 

JMS (Java Message Service) 介绍

Spring提供了一个JMS集成框架,简化了JMS API的使用 -- 类似于Spring集成对JDBC API所做的。

JMS可以粗略的归为两大功能区域,分别是消息的production (生产) 和consumption (消费)。 JmsTemplate类用于消息production和同步的消息接收。对于异步接收,类似于Java EE的消息驱动的bean style,Spring提供了大量消息监听器容器,用于创建消息驱动的POJOs (MDPs)。Spring 还提供了一种声明式创建消息监听器的方式。

org.springframework.jms.core包提供了使用JMS的核心功能。它包含了JMS模板类,简化了JMS的使用,通过处理创建、释放资源,非常类似于JdbcTemplate为JDBC所做的。设计思想就是Spring模板提供帮助方法来执行通用的操作,对于更加复杂的使用,则委托给用户实现的回调接口。JMS 模板是一样的设计。这些类提供了不同的便利方法来发送消息、同步消费消息,以及将JMS session和消息生产者暴露给用户。

org.springframework.jms.support包提供了JMSException翻译功能。该翻译将checked JMSException层级转换成一个镜像的unchecked exceptions层级。如果有provider专有的javax.jms.JMSException子类 ,该异常会被封装到unchecked UncategorizedJmsException

org.springframework.jms.support.converter包提供了MessageConverter抽象 -- 用于Java objects和JMS消息之间的转换。

org.springframework.jms.support.destination包提供了不同的策略来管理JMS destinations,如提供一个服务定位器或者存储的JNDI中的destinations。

org.springframework.jms.annotation包提供了必要的设施来支持注解驱动的监听器端点 -- 使用@JmsListener。

org.springframework.jms.config包提供了jms namespace的解析器实现,以及java config支持来配置监听器容器和创建监听器端点。

最后,org.springframework.jms.connection包提供了一个ConnectionFactory的实现,适用于独立的应用。它还包含了Spring PlatformTransactionManager的用于JMS的实现(名字是JmsTransactionManager)。这样可以将JMS作为一个事务性的资源,无缝地集成到Spring的事务管理机制中。

 

JMX 介绍

Spring提供的JMX支持,可以简单透明地将你的Spring应用集成到JMX设施中。

什么是JMX?

本章不是JMX的介绍... 它不会试图解释为什么有人需要使用JMX。如果不知道,可以参考本章末尾的资源。Section 31.8, “Further Resources”

特别地,Spring的JMX支持提供了4个核心功能:

自动注册任意Spring bean作为一个JMX MBean。

弹性机制来控制你的beans的管理接口。

通过remote、JSR-160 connectors来声明式暴露MBeans。

对于本地和远程MBeans资源的简单代理。

这些功能用于将你的应用组件与Spring或JMX接口和类解耦。事实上,对于你的应用来说,大部分不需要意识到Spring或者JMX就可以使用Spring的JMX功能。

 

JCA CCI 介绍

Java EE提供了一个specification来标准化访问企业信息系统(EIS):JCA (Java EE Connector Architecture)。该specification被划分成几个不同的部分:

SPI (Service provider interfaces),

CCI (Common Client Interface),

 

 

 

 

 

 

 

官方文档链接:

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-integration.html

以上是关于Spring 4 官方文档学习 Spring与Java EE技术的集成的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 官方文档学习入门及使用

Spring 4 官方文档学习(十三)集成其他web框架

2017.4.10 spring-ldap官方文档学习

Spring 4 官方文档学习核心技术之Spring AOP

20191114 Spring Boot官方文档学习(4.7)

Spring 4 官方文档学习数据访问之JDBC