java - 类似于非 EJB 的 Spring 中的 EJB 布线

标签 java spring jakarta-ee spring-annotations

我最近注意到,如果我用 @Interceptors(SpringBeanAutowiringInterceptor.class) 注释 ejb,spring 可以为我连接我的 ejb。我从来没有真正这样做过,所以不知道细节。

我在想,有没有办法让它与其他类型的 bean 一起工作,例如,@WebService 注释的 bean。

目前在我的 Web 服务类中(因为应用服务器管理它们)我必须从 BeanFactory 加载依赖项,因此更愿意让它们 Autowiring 。

我知道我可以使用 @Configurable 注释,但不是特别热衷于必须在 VM 上指定和代理。

这可能吗?

最佳答案

再一次,spring 想到了这个用例并迎合了它!

问题是@WebService 不是spring 注释,它是JAX-WS 注释,因此用@WebService 注释的类将作为Web 公开服务不由 spring 管理,但它们的生命周期由 JAX-WS 管理。

处理这种情况的方法是让 JAX-WS 托管 bean 扩展 org.springframework.web.context.support.SpringBeanAutowiringSupport - 例如,这将使 @Autowire 注释能够在此 bean 中工作。见here了解更多信息

关于java - 类似于非 EJB 的 Spring 中的 EJB 布线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1199047/

相关文章:

java - 如何在 Java 中读取 "echo a | java Class"

java - hibernate3中索引越界异常

java - 如何在spring boot中从restful Controller 返回一个html页面?

java - Spring @ConfigurationProperties 绑定(bind)在测试中失败

jakarta-ee - JMS 消费者和消息驱动 Bean (MDB) 之间有什么区别

sql - 无法将tomcat连接到MSSQL 2008 R2

java - SnakeYAML正在实例化ArrayList而不是HashMap

java - Android 在设备上的开发和测试会占用手机内部硬盘空间

java - 如何使用 Java 检查 Selenium WebDriver 中的元素是否可点击

java - 使用 Eclipse Indigo 时获取 realpath 的问题