Contexts and Dependency Injection for Java EE

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Contexts and Dependency Injection for Java EE por Mind Map: Contexts and Dependency Injection for Java EE

1. implementations

1.1. Weld (reference impl.)

1.1.1. Oracle GlassFish Server 3.x JBoss Enterprise Application Platform 6 JBoss Application Server 7.x

1.2. OpenWebBeans

1.2.1. Apache TomEE Apache Geronimo 3.x IBM WebSphere Application Server 8.0 and 8.5 IBM WebSphere Application Server Liberty Profile 8.5 SiwPas

1.3. CanDI

1.3.1. Caucho Resin 4.0.17

2. evolution

2.1. EE6

2.1.1. JSR 299: cdi 1.0 (web beans)

2.1.2. JSR 330: Dependency Injection for Java

2.2. EE7

2.2.1. JSR 346: cdi 1.1

2.3. ? EE8

2.3.1. JSR 000346: cdi 1.2 just released

3. availability

3.1. Web profile (since EE6)

3.2. Servlet containers (like Tomcat 6.X and Jetty 6.X) can also be extended with Weld or OpenWebBeans by dropping the proper jars in webapp's /WEB-INF/lib and doing the proper configuration in web.xml.

3.3. standalone Java SE

4. features

4.1. Basic dependency injection

4.1.1. @Inject

4.1.2. @Qualifier, @Stereotype

4.1.3. @Alternative, Instance,

4.1.4. @All, @Any, @Default

4.2. Component naming

4.2.1. @Named

4.3. Context management

4.3.1. @Dependent, @RequestScoped, @SessionScoped, @ConversationScoped, @ApplicationScoped, @Scope

4.4. Custom Object Factories

4.4.1. • @Produces, @Disposes, InjectionPoint

4.5. Lightweight Events

4.5.1. Event, @Observes

4.6. Interceptors

4.6.1. @Interceptor, @InterceptorBinding, @AroundInvoke, InvocationContext

4.7. Decorators

4.7.1. @Decorator, @Delegate

5. Please follow the link (arrow) to my simple GitHub code examples for this topic.

6. usage (cdi 1.0)

6.1. maven dependency

6.2. beans.xml must be present (even if it is empty) in the deployment unit

6.2.1. in WEB-INF for .war

6.2.2. in META-INF for .jar

7. charecteristics

7.1. Next-generation dependency injection for Java EE

7.2. Best ideas from Seam, Guice and Spring

7.3. Loose-coupling

7.4. Java-centric type-safety, annotations, expressiveness and ease-of-use

7.5. Makes Java EE much more flexible, testable, pluggable and extensible

8. IDE suport

8.1. Eclipse

8.1.1. JBoss Tools

8.1.1.1. Provides excellent support for CDI (which Eclipse currently does not)

8.1.1.2. CDI wizards, validation, quick-fix, auto-completion, navigation

8.1.2. Glassfish plugin

8.1.2.1. Weak support

8.2. Netbeans

8.3. IntelliJ

9. cdi bean