Combining spring and Java EE



我们的项目app-uiapp-services中有两个模块。 app-ui是一个组件项目遵循基于弹簧的实施,app-services有 RESTFUL 和 SOAP服务遵循基于 Java EE 6 的实现。我们希望启用安全性、日志记录和整个模块的异常处理方面。

我们面临以下问题:

  1. Spring aop 仅在 app-ui 中运行良好。在应用程序服务方面,我们尝试使用加载时间编织和弹簧桥接但没有成功,只有当beans.xml(Java EE 6)不存在于项目中。
  2. 我们尝试了Java EE全局拦截器(放在ejb-jar.xml中),它仅适用于EJB。因此,它无法在应用程序 UI 中工作。

有没有办法开发应用-UI 和应用服务的共同方面?

直接使用 AspectJ 而不是 Spring 特定的支持,它应该可以正常工作,这允许开发在 Spring 和 Java EE 中都有效的方面。

有三种方法可以将AspectJ方面编织到代码中:

  • 编译时编织,这意味着我们需要有代码

  • 字节码编织可用于没有代码的第三方 jar

  • 加载时
  • 编织(不是特定于弹簧的支持)可用于在类加载时编织方面,这可能更具侵入性,因为它需要 JVM 范围的代理和对服务器启动脚本的访问。

LTW的弹簧支持允许以更方便的方式使用LTW,但它仅适用于弹簧应用,与上面的LTW通用机制不同。

因此,如果直接使用 LTW 太麻烦,字节码编织和编译时编织仍然是有效的选择,尽管对构建过程有影响。

相关内容

  • 没有找到相关文章

最新更新