Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can CDI be lessened towards Java SE?

JSR-330 dependency injection can be applied to both Java SE and Java EE environments, while JSR-299 is titled "Contexts and Dependency Injection for the Java EE platform".

Except strictly Java EE-oriented features, what CDI features make sense on Java SE as well? Any examples available? Thanks!

[Revised] Here's Weld on JSE.

like image 444
sof Avatar asked Aug 26 '10 12:08

sof


2 Answers

Except strictly Java EE-oriented features, what CDI features make sense on Java SE as well? Any examples available? Thanks!

Well, the one mentioned in the Weld documentation:

18.4. Java SE

In addition to improved integration of the Enterprise Java stack, the "Contexts and Dependency Injection for the Java EE platform" specification also defines a state of the art typesafe, stateful dependency injection framework, which can prove useful in a wide range of application types. To help developers take advantage of this, Weld provides a simple means for being executed in the Java Standard Edition (SE) environment independently of any Java EE APIs.

When executing in the SE environment the following features of Weld are available:

  • Managed beans with @PostConstruct and @PreDestroy lifecycle callbacks
  • Dependency injection with qualifiers and alternatives
  • @Application, @Dependent and @Singleton scopes
  • Interceptors and decorators
  • Stereotypes
  • Events

This obviously makes sense in a Java SE context.

like image 127
Pascal Thivent Avatar answered Oct 20 '22 08:10

Pascal Thivent


see openwebbeans.apache.org

like image 31
Peter Avatar answered Oct 20 '22 07:10

Peter