<blockquote> http://www.atmarkit.co.jp/fjava/kaisetsu/j2eewatch02/j2eewatch02.htmlより
アノテーションとは、JDK 1.5で新たに追加される言語仕様であり、Javaコード上でメタデータ(コードそのものではなくコードに関する付加情報)を記述可能にする。これは、マイクロソフトC#における属性(attribute)に相当するシンタックスで、アノテーションはそれを後追いした仕様といえる。例えば、EJB 3.0におけるSession Bean(ビジネス・ロジックを実行するためのEJBコンポーネント)は、アノテーションを用いて以下のようなスタイルで記述される。
@Session public class CalculatorBean {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}
このように、@Sessionというアノテーションをクラス宣言の行頭に入れておくことで、ごく普通のJavaクラスに対してSession Beanとしての能力(トランザクション管理やセキュリティ管理、リソース管理など)を後付けできる。この際、従来のEJB開発の面倒さを象徴していたホーム・インターフェイスやリモート・インターフェイス、XMLベースのDD(Deployment Descriptor)の作成作業は、すべて不要となる。 </blockquote>
PHP_AnnotationというPEARライブラリがある。