以下是这种情况:在基于EJB的应用程序中加载弹簧上下文
我有一个业务层,即一个EJB项目。实际上,只有一个创建的EJB。这个EJB负责将服务类暴露给调用EJB的其他层。我想在这一层介绍spring(使用DI功能)。
我的问题是,在这个业务层中加载spring上下文的最佳方式是什么,以便每当EJB被调用时,spring上下文都不会一次又一次地加载?
(在Web项目中,有一个优势,而配置在ContextLoaderListener的春天上下文,它就会被加载一次,只有当应用程序被启动)
我曾经想过,包括在同一层,因为春天:
- 配置所有DAO和服务类的依赖关系,并在必要时注入它们。
- 在业务层使用spring支持hibernate。
- 易于单元测试,通过注入属性到类中并进行模拟。不需要一次又一次地运行其他层,以测试我的业务类/方法。
- 为了能够使用AOP(面向方面编程)进行日志记录和方法级别审计。
请帮助我建议在EJB项目中加载spring上下文的最佳方式。我也想知道,如果有任何替代方案,我可以在应用程序服务器中加载它(我正在使用Web球体应用程序服务器)。
感谢和问候,
Jitendriya短跑
不是EJB 3.1有它自己的依赖性注入框架,并且CDI会更好地集成我只需要一个轻量级的DI? – Ralph