利用Spring框架改进J2EE编程

豆豆网   技术应用频道   2008年03月28日  【字号: 收藏本文

内容摘要:本文粗略地概括介绍了IoC,并详细介绍了Spring。Spring框架具有许多功能,其中许多功能在本文中只是点到为止。从基本的依赖注入到复杂的AOP操作,这些组成了Spring的强大功能,这是它的主要优点之一。能够根据问题需要使用或多或少的IoC功能是一个极具吸引力的理念。

<bean id="myDataSource"
class="org.springframework.jndi.
JndiObjectFactoryBean">
<property name="tempSensorDS">
<value>ConnectionFactory</value>
</property>
</bean>

  该代码突出了Spring所提供的关于表格的测试灵活性。该代码可以在“容器内”运行(从JNDI查找数据源),经过细微的改动之后也可在“容器外”运行。

  虽然模板化机制仅适用于某些特定场合,但我们可以泛化这一概念,将它应用于更广泛的场合。例如,一种将已检查异常转变为未检查异常、此外还可能为异常处理提供一些中间或统一的异常处理策略的机制将会很有帮助。我们还可以使用该机制将底层的基本异常“软化”得更合乎人意。我们可以将PacketFrameParityFaultException软化为CommunicationsUnreliableException。这个重新映射的较软的异常表示情况可能并不那么严重,重新请求也是可以的。

  Spring已经具备了一种类似于包装EJB调用(在最后一节介绍)的机制,但遗憾的是它并不具备任何“通用”的东西,至少在异常软化意义上是这样的。但Spring的确有一个非常健壮的AOP(面向方面编程)框架,我们可以用它来逼近这种行为。下面是一个关于这种软化适用领域的(公认的)精心设计的例子。

  我们再来看看本文前面已经开始探讨的一些概念。在第一节中我们介绍了一个基于远程传感器的小应用程序。现在我们继续探讨这个例子。我们将从一个简单的传感器接口开始介绍,该接口代码如下:

public interface ProtocolAdapterIfc
{
public Integer getRemoteSensorValue()
throws CommChecksumFault,
CommConnectFailure,
CommPacketSequenceFault;
}

  这并没有什么特别之处。显然实现该接口的任何人都会获得一个远程值并将它返回给调用者。在此期间调用者可能要面对某些可怕的灾难,该接口可能抛出的已检查异常就是例证。

来源:BEA    作者:Peter Braswell    责编:豆豆技术应用

正在加载评论...