blob: 196f729d876d83ff856b1298b1c850cf67bbb49f [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2006, v.4002-->
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
"concept.dtd">
<concept id="cjavaee5" xml:lang="en-us">
<title outputclass="id_title"><tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> EE 5 support for annotations</title>
<shortdesc outputclass="id_shortdesc">The goal of <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> EE 5 platform development is to minimize
the number of artifacts that you have to create and maintain, thereby simplifying
the development process. <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> EE 5 supports the injection of annotations
into your source code, so that you can embed resources, dependencies, services,
and life-cycle notifications in your source code, without having to maintain
these artifacts elsewhere.</shortdesc>
<prolog><metadata>
<keywords><indexterm>Java EE 5<indexterm>annotations</indexterm></indexterm>
</keywords>
</metadata></prolog>
<conbody>
<p>An annotation is a modifier or Metadata tag that provides additional data
to <tm tmclass="special" tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> classes,
interfaces, constructors, methods, fields, parameters, and local variables.
Annotations replace boilerplate code, common code that is required by certain
applications. For example, an annotation can replace the paired interface
and implementation required for a Web service. Annotations can also replace
additional files that programs require, which are maintained separately. By
using an annotation, this separate file is no longer required. For example,
annotations can replace the need for a separately maintained deployment descriptor
for <tm tmclass="special" tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="JavaBeans">JavaBeans</tm>. </p>
<p>Annotations<ul>
<li>Replace descriptors for most purposes</li>
<li>Remove the need for marker interfaces (like java.rmi.Remote)</li>
<li>Allow application settings to be visible in the component they affect</li>
</ul></p>
<p>Java EE 5 provides annotations for the following tasks, among others:<ul>
<li>Developing Enterprise JavaBean applications</li>
<li>Defining and using Web services</li>
<li>Mapping Java technology classes to XML</li>
<li>Mapping Java technology classes to databases</li>
<li>Mapping methods to operations</li>
<li>Specifying external dependencies</li>
<li>Specirying deployment information, including security attributes</li>
</ul></p>
<p><tm tmclass="special" tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> EE
5 defines a number of annotations that can be injected into your source code.
To declare an annotation, you simply precede the keyword with an "at" sign
(@). <codeblock>
package com.ibm.counter;
import javax.ejb.Stateless;
@Stateless
public class CounterBean {
}</codeblock></p>
<p>For more information about the categories of annotations that <tm tmclass="special"
tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> EE
5 supports, see <xref href="ctypesofanno.dita">Types of annotations</xref>.</p>
</conbody>
</concept>