読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

Java EEのDIを可視化するVisual EE

CDI

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 {
    
}

f:id:kikutaro777:20140707193532j:plain

@Producesもちゃんと描いてくれます。

@Dependent
public class SimpleProducer {
    @Produces
    @SimpleListQualifier
    public List<String> getSimpleStrList(){
        return new ArrayList<>();
    }
}

f:id:kikutaro777:20140707193209j:plain

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

f:id:kikutaro777:20140707193848j:plain

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

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村