注解Resource
时间: 2023-09-02 21:11:32 浏览: 38
注解@Resource是用来进行属性注入的,在使用Spring框架中非常常见。它可以直接用于域(field)上,也可以用于setter方法上。通过@Resource注解,我们可以将指定的bean注入到目标属性中。
当使用@Resource注解在域上时,可以不暴露setter方法,使代码更紧凑,并且还提供了域不可修改的额外益处。如果没有提供任何值,域名将被当作默认值来注入对应的bean。例如,使用@Resource注解注入一个名为"dataSource"的bean时,可以直接使用如下代码:@Resource private DataSource dataSource;
在使用@Resource注解时,如果注解应用在属性上,最终会调用ResourceElement的getResourceToInject方法。这个方法会根据注解的参数来确定要注入的bean,并返回对应的资源对象。如果设置了lazyLookup参数,将会构建一个懒加载的代理对象。否则,将直接获取对应的bean资源进行注入。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [@Resource注解的原理、源码](https://blog.csdn.net/liangsheng_g/article/details/114838591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [@Resource注解](https://blog.csdn.net/dongfangbubai1/article/details/9762327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]