CDI Articles

1. Configuration

In this tutorial you will learn how to configure Contexts and Dependency Injection (CDI) with Tomcat.
In this tutorial we will see how to deploy CDI beans contained in an external JAR file avoiding org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [...] with qualifiers [@...] at injection point ... exception.

2. Beans

In this tutorial you will learn in detail about the distinct bean scopes provided by CDI and how to use them.
In this tutorial you will learn how to use ConversationScoped CDI beans.
In this article we will cover the Java EE CDI TransactionScoped scope.
In this tutorial we will cover the Java EE CDI ViewScoped scope.
In this article we will cover the CDI bean scopes that were introduced by Java EE 7.

3. Dependency Injection

In this tutorial you will learn about the different ways to use @Inject annotation in order to perform Dependency Injection with Java EE CDI.
In this tutorial you will learn how to inject multiple interface implementations with Java EE CDI (dependency disambiguation) avoiding org.jboss.weld.exceptions.DeploymentException: WELD-001409 Ambiguous dependencies for type [...] with qualifiers [...] at injection point [...]
In this tutorial we will see how to implement Java EE CDI dependency disambiguation in a programmatic (or dynamic) way by inspecting injection points. The same applies for programmatic dependency resolution at runtime.
In this tutorial we will see how to inject beans from external - or 3d party - libraries in Java EE CDI

4. Producers

In this tutorial you will learn how to use CDI Producer methods in order to provide a flexible bean initialization mechanism. Concepts like polymorphism, disambiguation and CDI scopes will also be discussed as we proceed in the tutorial.
In this tutorial you will learn how to use CDI Disposer methods in order to perform clean up of resources created by CDI Producer methods.

5. CDI Extensions

In this article we will see how to programmatically add a CDI interceptor to a CDI managed bean.
In this article we will see how to implement a Java EE CDI portable extension from scratch. CDI extensions are used mainly by framework developers (ex: Apache DeltaSpike project, the former MyFaces CODI).
About the author
Gonçalo Marques is a Software Engineer with several years of experience in software development and architecture definition. During this period his main focus was delivering software solutions in banking, telecommunications and governmental areas. He created the Bytes Lounge website with one ultimate goal: share his knowledge with the software development community. His main area of expertise is Java and open source.

GitHub profile: https://github.com/gonmarques

He is also the author of the WiFi File Browser Android application: