CDI可以减少对Java SE的影响吗?

sof*_*sof 7 java dependency-injection java-ee cdi jboss-weld

JSR-330依赖注入可以应用于Java SE和Java EE环境,而JSR-299则标题为"Java EE平台的上下文和依赖注入".

除了严格的面向Java EE的功能外,哪些CDI功能在Java SE上也有意义?有可用的例子吗?谢谢!

[修订]这是关于JSE焊接.

Pas*_*ent 7

除了严格的面向Java EE的功能外,哪些CDI功能在Java SE上也有意义?有可用的例子吗?谢谢!

那么,Weld文档中提到的那个:

18.4.Java SE

除了改进Enterprise Java堆栈的集成之外,"Java EE平台的上下文和依赖注入"规范还定义了最先进的类型安全,有状态依赖注入框架,它可以在各种应用程序类型中证明是有用的.为了帮助开发人员利用这一点,Weld提供了一种在Java标准版(SE)环境中独立于任何Java EE API执行的简单方法.

在SE环境中执行时,可以使用以下Weld功能:

  • 使用@PostConstruct和@PreDestroy生命周期回调管理bean
  • 依赖注入与限定符和替代
  • @ Application,@ Dependent和@Singleton范围
  • 拦截器和装饰器
  • 定型
  • 活动

这显然在Java SE上下文中是有意义的.