悲しいことに最近仕事でコードが書けなくなってきてしまい(苦手な上流へ…)、あまりネタがないのですが、プライベートな時間で以下のJava EE7本を細かく読み始めました。
Antonio Goncalves
Apress (2013-06-26)
売り上げランキング: 4,378
このBeginning Java EE 7は名前からわかる方もいると思いますが、金魚本のJava EE 7版となっていて、先頭の章でCDIがドカンと入ってていい感じです。
しかし本を読んでいると、CDIは細かい所で結構知らないことあるなぁと。
そんなわけで個人的なメモ。
プリミティブ型やStringもCDIのProducersを利用してInjectできるんですね。へー。
地味に知らなかった(^^;
package jp.co.hoge.producer;
import javax.enterprise.inject.Produces;
public class NumberProducer {
@Produces
@MyNumber
public int myNumber(){
return 11;
}
}
@Qualifier
@Retention(RUNTIME)
@Target({METHOD, FIELD, PARAMETER, TYPE})
public @interface MyNumber {
}
@Inject
@MyNumber
private int number;
System.out.println("私の堀北真希さんファンクラブ会員番号は" + number);
私の堀北真希さんファンクラブ会員番号は11
とか
package jp.co.hoge.producer;
import javax.enterprise.inject.Produces;
public class HorikitaProducer {
@Produces
@Makimaki
public String getHorikitaName(){
return "堀北真希";
}
}
@Qualifier
@Retention(RUNTIME)
@Target({METHOD, FIELD, PARAMETER, TYPE})
public @interface Makimaki {
}
@Inject
@Makimaki
private String name;
System.out.println(name);
堀北真希
みたいな。メリットはなんだろ…。