介绍
JavaEE提供的注解
源码
@Target({TYPE, FIELD, METHOD})
@Retention(RUNTIME)
public @interface Resource {
String name() default "";
String lookup() default "";
Class<?> type() default java.lang.Object.class;
enum AuthenticationType {
CONTAINER,
APPLICATION
}
AuthenticationType authenticationType() default AuthenticationType.CONTAINER;
boolean shareable() default true;
String mappedName() default "";
String description() default "";
使用
- 修饰成员变量
- 修饰
setXXX()方法
属性
- name
- type
装配顺序
(常用)如果没有指定
name和type,有以下 2 种情况:根据名字进行装配,根据 成员变量名 ,从上下文中查找名称(
id)匹配的bean进行装配如果没有匹配,找到 类型匹配 的唯一bean进行装配,找不到或者找到多个,都会抛出异常
(常用)如果指定了
name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常如果指定了
type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常如果同时指定了
name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常