Spring Webservice @Autowired突然无法在Java 8

时间:2015-09-15 01:53:25

标签: spring java-8 autowired

我们有Spring(3.0.6)@WebSerice正常使用@Autowried@Service@Repository使用Java 7。

最近,我们需要升级到Java 8,然后存储库类不能@Autowired

非常简单的重点:

@Repository
public interface MyClss extends JpaRepository<MyData, String> {
    MyData findOne( String key );
}

Spring中的{7}从Java 7到Java 8有什么不​​同吗?

2 个答案:

答案 0 :(得分:0)

我认为@Repository仅用于类,而不是接口。如果这是一个Spring 3应用程序,您必须将代码编译为java 7或升级到Spring 4.请参阅spring-core 3.2.9 + java 8

答案 1 :(得分:0)

因为我们的遗留项目很旧,包含许多旧的lib和包,所以我们无法升级到Spring 4或3.2。

当我们发现顶部控制杆正在使用CXF Webservice(2.x)时,我们解决了这个问题。该CXF版本不支持Java 8。

Spring bean not injected into CXF web service, Why?

因此,我们不是使用@Autowired,而是通过ApplicationContext更改为使用@Repository获取服务类,这是有效的。

例: OrderService orderService = applicationContextProvider.getApplicationContext()。getBean(OrderService.class);