Mavenでビルドするだけで以下動画のようなCDIを可視化するHTMLを出力してくれます。
少し前にAdam Bienさんのブログにて
VISUALIZE YOUR JAVA EE 7 DEPENDENCY INJECTION AND RELATIONS
と紹介されていたものです。Visual EEは以下に。
Visual EE
使い方は簡単で、mavenのpom.xmlに
<plugins>
<plugin>
<groupId>de.struller-baumann</groupId>
<artifactId>visualee</artifactId>
<version>0.26</version>
<configuration>
<outputdirectory>visualee</outputdirectory>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>visualize</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
と設定するだけ(^^;コードにCDIを利用したものが入っていればビルドした結果、srcと同列階層にvisualeeというフォルダができます。
コードは@Injectがあるだけでも先ほどのような表示がされます。
@Named
@ViewScoped
public class CdiBean {
@Inject
private SimpleDependent dep;
}
@Dependent
public class SimpleDependent {
}

@Producesもちゃんと描いてくれます。
@Dependent
public class SimpleProducer {
@Produces
@SimpleListQualifier
public List<String> getSimpleStrList(){
return new ArrayList<>();
}
}

残念ながら@Alternativeを利用した場合の実体インスタンスのInjectまでは描いてくれませんでした(^^;
インタフェースがInjectされた絵となってます。

SimpleImplDependentOneとSimpleImplDependentTwoが@Alternativeついた実装クラスですがプカプカ浮いてます。このツールが出力するhtml(というかグラフ描いてるjs)のほうが興味深いですね