Skip to content

CDI in JavaSE

2011 Oktober 22
tags: ,
by Haf

CDI – Contexts and Dependency Injection for the Java(tm) EE platform [1] – ist nicht neu und man findet im Netz auch genug gute Einführungen (z.B. [2] und natürlich immer auch bei [3], [4] etc). Möchte man jedoch CDI außerhalb eines Container (AppServer) verwenden, sprich in einer Java SE Umgebung, sucht man schon etwas länger.

Bei CDI gibt es u.a. folgende Implementierungen: Weld [5] und OpenWebBeans [6].
Bei der Referenzimplementierung Weld ist die Dokumentation vorbildlich und es gibt auch ein Kapitel [7] welches den Einsatz in einer Java SE Umgebung beschreibt. Solch ein Kapitel sucht man bei OpenWebBeans leider vergebens – das Kapitel an sich existiert schon, leider ohne Inhalt.
Zum Glück findet man im SVN jedoch ein SE-Bespiel [8].
Für Version 1.1.2 ersetzt man folgende Zeil:

durch

Und der Einsatz von CDI mit OpenWebBeans in einer Java SE Umgebung steht nix mehr im Weg.

Zur Vollständigkeit anbei die Maven pom.xml:

[1] http://www.jcp.org/en/jsr/summary?id=299
[2] http://blog.namics.com/2011/01/cdi-leichtgewic.html
[3] http://matthiaswessendorf.wordpress.com/2010/01/19/dependency-injection-the-jsr-330-way/
[4] http://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_15
[5] http://seamframework.org/Weld
[6] http://openwebbeans.apache.org/owb/index.html
[7] http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html/environments.html#d0e5333
[8] http://svn.apache.org/repos/asf/openwebbeans/trunk/samples/standalone-sample/src/main/java/org/apache/webbeans/se/sample/Boot.java

Share it!
  •  
  •  
  •  
  •  
  •  
  •  
No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS