防止手动实例化@ApplicationScoped CDI托管bean

时间:2015-10-05 08:23:51

标签: java-ee ejb cdi java-ee-6

我的Java EE应用程序中有一个Singleton类。 我通过使用@ApplicationScoped注释课程并让CDI处理所有内容来实现这一目标。

我的问题是我是否可以防止意外手动实例化此类,因为CDI要求我有一个非私有的无参数构造函数?

"经典"非CDI解决方案将具有私有构造函数,静态INSTANCE字段和返回此实例的静态工厂方法。

1 个答案:

答案 0 :(得分:3)

您可以使用" classic"您提到的非CDI解决方案,然后使用@Produces注释工厂方法(或静态最终字段)。