javaweb注解@Resource 作者:马育民 • 2020-11-13 14:03 • 阅读:10101 # 介绍 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 ### 装配顺序 1. **(常用)**如果没有指定 `name` 和 `type`,有以下 2 种情况: 1. 根据名字进行装配,根据 **成员变量名** ,从上下文中查找名称(`id` )匹配的bean进行装配 2. 如果没有匹配,找到 **类型匹配** 的唯一bean进行装配,找不到或者找到多个,**都会抛出异常** 2. **(常用)**如果指定了 `name` ,则从上下文中查找名称(`id` )匹配的bean进行装配,找不到则抛出异常 3. 如果指定了 `type` ,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常 4. 如果同时指定了 `name` 和 `type` ,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 原文出处:http://malaoshi.top/show_1IX27XAmOFQ.html