最近、よく目にするのがアスペクト指向という言葉。 あるプログラムの実行中に、指定されたところで別のコードの断片 (アスペクト) を挿入して自動的に実行してまうというのが基本的な考え方だと思います。たとえば、JBoss は任意のオブジェクト (Plain Old Java Object 略して POJO なんて呼ばれています) を EJB に必要なコードを組み込んで、自動的に EJB に変換してしまうなんてことをやってくれるようです。 こういうことを Martin Fowler は Dependency Injection (依存性の注入) と呼んでいます。 コンテナに必要な処理を無理やり POJO に埋め込んでしまうわけです。 さて、こういったことをやるにはバイトコードを変更してしまうという方法もあります。今までバイトコード操作といえば Apache の BCEL や Javaasist