【问题标题】:Can CDI be lessened towards Java SE?CDI 可以减少到 Java SE 吗?
【发布时间】:2011-04-04 06:19:44
【问题描述】:
JSR-330 依赖注入可以应用于 Java SE 和 Java EE 环境,而 JSR-299 的标题是“Java EE 平台的上下文和依赖注入”。
除了严格面向 Java EE 的特性外,还有哪些 CDI 特性在 Java SE 上也有意义?有什么可用的例子吗?谢谢!
[修订]
这里是Weld on JSE.
【问题讨论】:
标签:
java
dependency-injection
jakarta-ee
cdi
jboss-weld
【解决方案1】:
除了严格面向 Java EE 的特性外,还有哪些 CDI 特性在 Java SE 上也有意义?有可用的例子吗?谢谢!
嗯,Weld 文档中提到的那个:
除了改进的集成
企业 Java 堆栈,
“上下文和依赖注入
Java EE 平台”规范
还定义了最先进的技术
类型安全,有状态的依赖
注入框架,可以证明
适用于广泛的应用
类型。帮助开发者采取
利用这一点,Weld 提供了一个
执行的简单方法
Java 标准版 (SE) 环境
独立于任何 Java EE API。
在 SE 环境中执行时
Weld 的以下特点是
可用:
- 带有@PostConstruct 和@PreDestroy 生命周期回调的托管bean
- 使用限定符和替代项进行依赖注入
- @Application、@Dependent 和 @Singleton 范围
- 拦截器和装饰器
- 刻板印象
- 活动
这在 Java SE 上下文中显然是有意义的。
【解决方案2】:
参见 openwebbeans.apache.org