WEB开发网
开发学院软件开发Java 将 Spring 和 OpenJPA 与 WebSphere Application ... 阅读

将 Spring 和 OpenJPA 与 WebSphere Application Server 一起使用

 2009-11-03 00:00:00 来源:WEB开发网   
核心提示: 有时,您最终会遇到 ServletContext 不可用的情形,将 Spring 和 OpenJPA 与 WebSphere Application Server 一起使用(9),甚至是在 Web 层中,如果您扩展第三方应用程序或框架,务必注意的是,即使依赖项可能非常有限并且数量很少,并且希望在

有时,您最终会遇到 ServletContext 不可用的情形,甚至是在 Web 层中。如果您扩展第三方应用程序或框架,并且希望在代码中使用 Spring Bean,但是该 API 没有向扩展类传递上下文,可能就会发生这种情况。在此情况下,您可以按照上面针对 EJB 层描述的类似方式实例化 Spring 容器。

依赖项注入

使用 Spring,通过一种称为依赖项注入(Dependency Injection,DI)的技术,容器将负责使得对协作对象的引用对依赖对象可用。依赖项注入与用于提供到协作对象的访问的标准 J2EE 机制不同。在 J2EE 中,您使用 JNDI 环境命名上下文(Environment Naming Context,ENC)作为机制,以便通过命名空间使协作对象可用并获得对协作对象的引用。通过使用 JNDI ENC,依赖对象可以显式地请求对某个协作者的引用。

使用 Spring DI 时,程序员请求容器通过使得协作者引用对依赖对象可用,并通过使用构造函数或 setter 注入变体,从而解析依赖项。使用构造函数注入 时,容器在构造函数调用中传递协作者,而在使用 setter 注入时,容器在创建依赖对象后使用 mutator 方法调用传递引用。在这两种情况下,您都需要声明依赖项(例如使用 Spring 配置文件),并向依赖对象类添加对应的构造函数或 mutator 方法。

有关设计模式的经典图书 Design Patterns:Elements of Reusable Object-Oriented Software 提倡“按接口而不是按实现来编程”的设计原则。即使您按接口编程,仍然需要在某个地方实例化实现类。可以简单地以编程方式对其进行实例化,但是这样的话,您的代码将依赖具体的实现类。另一种方法是创建用于实例化实现的工厂类,但是您的代码中仍然存在对实现类的依赖。务必注意的是,即使依赖项可能非常有限并且数量很少,源代码级别的依赖项仍然存在。

上一页  4 5 6 7 8 9 10  下一页

Tags:Spring OpenJPA WebSphere

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接