2015-09-20 53 views
3

我最近迁移使用Spring 3.1版本的JDK从1.7到JDK 8的Java 8和Spring 3.1

我服务的一个是否有使用Java 8个Lambda表达式使用Spring 3.1版本的任何已知问题?我的服务对所有对象的自动装配以及休眠相关的注释都大量使用spring。

+0

测试它,但不能保证它能100%工作。版本3.2和之前的版本并没有真正支持java8,所以你基本上是靠自己的。我建议升级到最新的4.x版本。 –

+0

我做了3.2到4.x版本的大项目迁移,并且非常流畅。现在更新Spring。 – luboskrnac

回答

7

this blogpost看看:

随着4.0 M1,我们已经发布了Spring框架3.2.3,含 修复最近报告的问题,但也与OpenJDK的8 运行时支持未来。 Spring Framework 3.2.x将支持在针对JDK 7(带有-target 1.7) 或更早版本编译的应用程序上部署JDK 8次运行时。请注意,它不支持JDK 8的字节码格式 (-target 1.8,根据lambda需要);请为此升级到Spring Framework 4.0。

因此,Java 8支持作为从Spring 3.2.x开始的运行时,但必须针对JDK 7编译代码。如果您需要/想要使用Java 8功能,例如lambdas等,您将不得不升级到弹簧4.