java 中 @Resource 的实现机制

我想问一下@Resource这个注解的实现机制我不知道它是怎么找到目标bean的貌似使用这个东西不需要在bean上添@Repository注解。网上说它是根据名称识别的是... 我想问一下 @Resource 这个注解的实现机制
我不知道它是怎么找到目标 bean 的 貌似使用这个东西 不需要在 bean 上添 @Repository 注解。
网上说它是根据名称识别的 是在 import 导入的包中所有类名首字母小写的集合中识别吗?
展开
 我来答
vortexchoo
2018-03-29 · TA获得超过543个赞
知道小有建树答主
回答量:501
采纳率:40%
帮助的人:89.2万
展开全部
首先如果想用注解或者是配置 来进行java bean 的注入,这些bean所对应的java类都要被Spring容器管理,所有的bean都存在于同一个生态体系里面才可以相互的引用注入。
其实不管是注解还是配置,本质的逻辑是一样的。都是寻找当前容器中对应的bean,找不到的话 注入进来的就是null。
基于你的问题,我们就说说Spring是怎么利用注解方式来注入bean的,首先在spring的文件里面会有一个scanner去扫描你所配置的package所有的类,利用反射来获取当前类是否已经加了注解(例如@Resource,当然如果没有加注解,这个类也可以通过配置的方式被管理),如果加了,那么容器就会对这个类进行标记以及生成一个对象存放起来(这个地方牵扯到ThreadLocal的知识),此时这个类就被管理了,当其他被管理的类需要引入这个类的时候,spring会找到被引入的类,类似于深clone一个 给当前线程。
小尛静秋
2018-03-28 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:16.3万
展开全部
注解都是基于反射的机制实现的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式