javax.annotation

异常
注释
@Target(value={TYPE,FIELD,METHOD})
@Retention(value=RUNTIME)
public @interface Resource

Resource 注释标记应用程序所需的资源。此注释可以应用于应用程序组件类,或者该组件类的字段或方法。如果将该注释应用于一个字段或方法,那么初始化应用程序组件时容器将把所请求资源的一个实例注入其中。如果将该注释应用于组件类,则该注释将声明一个应用程序在运行时将查找的资源。

即使此注释没有被标记为 Inherited,部署工具仍然需要检查任意组件类的所有超类,以发现这些超类中所有使用此注释的地方。所有此类注释实例都指定了应用程序组件所需的资源。注意,此注释可能出现在超类的 private 字段和方法上;在这种情况下容器也需要执行注入操作。

从以下版本开始:
Common Annotations 1.0

可选元素摘要
 Resource.AuthenticationType authenticationType
          用于此资源的验证类型。
 String description
          此资源的描述。
 String mappedName
          此资源应该映射到的特定于产品的名称。
 String name
          资源的 JNDI 名称。
 boolean shareable
          指示是否能在此组件与其他组件之间共享此资源。
 Class type
          资源的 Java 类型。
 

name

public abstract String name
资源的 JNDI 名称。对于字段注释,默认值为字段名称。对于方法注释,默认值为与该方法对应的 JavaBean 属性名称。对于类注释,没有默认值,必须指定此项。

默认值:
""

type

public abstract Class type
资源的 Java 类型。对于字段注释,默认值为字段的类型。对于方法注释,默认值为 JavaBean 属性的类型。对于类注释,没有默认值,必须指定此项。

默认值:
java.lang.Object.class

authenticationType

public abstract Resource.AuthenticationType authenticationType
用于此资源的验证类型。可以为表示任何受支持类型的连接工厂的资源指定此方法,不得为其他类型的资源指定。

默认值:
javax.annotation.Resource.AuthenticationType.CONTAINER

shareable

public abstract boolean shareable
指示是否能在此组件与其他组件之间共享此资源。可以为表示任何受支持类型的连接工厂的资源指定此方法,不得为其他类型的资源指定。

默认值:
true

mappedName

public abstract String mappedName
此资源应该映射到的特定于产品的名称。此资源的名称(由 name 元素定义或为默认值)是使用该资源的应用程序组件的本地名称。(它的名称位于 JNDI java:comp/env 名称空间中。)许多应用程序服务器都提供一种方式将这些本地名称映射到应用程序服务器已知的资源名称。此映射的名称通常是 全局 JNDI 名称,但也可以是任何形式的名称。

应用程序服务器不需要支持任何特殊形式或类型的映射名称,也不需要具有使用映射名称的能力。映射的名称与产品有关,并且通常与安装有关。任何对映射名称的使用都不可移植。

默认值:
""

description

public abstract String description
此资源的描述。描述应该使用部署应用程序的系统的默认语言。该描述能够呈现给部署者以帮助他们选择正确的资源。

默认值:
""