我现在正在了解 CDI 范围Java EE 7 教程 https://docs.oracle.com/javaee/7/tutorial/cdi-basic008.htm#GJBBK发现最后一段说
使用会话、应用程序或对话范围的 Bean 必须是可序列化的,但使用请求范围的 Bean 不必是可序列化的。
但让我很困惑的是,在我的 IDE(Netbeans 和 IntelliJ Idea)中,当我使用 @SessionScoped 或 @ConversationScoped 时,如果我没有像 Java EE 7 教程中所说的那样实现可序列化,它确实会给我一个错误,显然,我无法构建该项目然后运行它。当我使用 @ApplicationScoped 但没有实现 Serialized 时,事情变得很奇怪,没有错误出现,我可以正常构建然后运行应用程序。
所以我对此很好奇,也很想知道为什么。您能解释一下那里发生了什么吗?太感谢了!
IDE 中显示的错误基本上是因为您的 IDE 有一些用于此目的的插件(顺便说一句,这不是 100% 可信的)。
序列化的原因如下:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)