@ConfigurableとDDD

仕事では使わないんだけど、中途半端にみてて動かしたことなかったから気分転換にハロワーした。うちのパソコンがしょぼいのもあるかもしれんがオソイねぇ。

@Configurable
public class Account {

  @Resource
  public BankService bankService;

  public void setBankService(BankService bankService) {
    this.bankService = bankService;
  }

  public BankService getBankService() {
    return bankService;
  }
}

ってやって、テストクラスは

@ContextConfiguration(locations={"beans.xml"})
public class AccountTest extends AbstractJUnit38SpringContextTests {

  public void testHelloWorld() {
    Account account = new Account();
    account.getBankService().hello();
  }    
}

てやる。普通にnewオペレータでインスタンス化。
クラスパスの中にはspring.jar, spring-test.jar, spring-agents.jar, spring-aspectj.jar, aspectjrt.jar, aspectjweaver.jar,commons-logging,log4j.jarとJUnit.

で、eclipseで動かす場合には、VM argumentsに
「-javaagent:lib/aspectjweaver.jar」
を指定する。JUnitを実行すると見事に「Hello World!」が出ましたとさ。ブツ的には去年とかその前ぐらいから登場してたAPIのようなので知ってる人は知ってるんだろうけど、動かしたのは初めての体験でやんした。うーん、思ったほど感動がないなぁ。でも、DDD的にはうれしいのかなぁ。
そういえば最近でた

インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践

インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践


これもあわせて読みたい。んでもってJavaEE勉強会もあわせて行きたいねぇ。
さて、麦茶のんで寝ますかね。