Mar*_*cuX 4 java serialization cdi jakarta-ee
我现在正在学习Java EE 7 教程中的 CDI 范围,并发现在最后一段中它说
使用会话、应用程序或对话范围的 Bean 必须是可序列化的,但使用请求范围的 Bean 不必是可序列化的。
但让我很困惑的是,在我的 IDE(Netbeans 和 IntelliJ Idea)中,当我使用 @SessionScoped 或 @ConversationScoped 时,如果我没有像 Java EE 7 教程中所说的那样实现可序列化,它确实会给我一个错误,显然,我无法构建该项目然后运行它。当我使用 @ApplicationScoped 但没有实现 Serialized 时,事情变得很奇怪,没有错误出现,我可以正常构建然后运行应用程序。
所以我对此很好奇,也很想知道为什么。您能解释一下那里发生了什么吗?太感谢了!
IDE 中显示的错误基本上是因为您的 IDE 有一些用于此目的的插件(顺便说一句,这不是 100% 可信的)。
序列化的原因如下:
@SessionScoped豆子
@ConversationScoped豆子
@ApplicationScoped豆子
Serializable存在