Tec*_*und 31 java spring annotations dependency-injection
难道一类将作为一个Spring应用程序的Bean同时需要@Component和@Named在同一时间?
如果两者都这样使用有什么意义?
我尝试搜索网络,并看到这些注释的标准文档,发现它们有点令人困惑.
最后,如果@Named注释没有为bean指定任何名称,应用程序将采用哪个名称?
axt*_*avt 59
@Component并且@Named注释基本上做同样的事情,但来自不同的API.
@Component属于Spring API.它将类标记为自动检测为bean,并可选择允许您为该bean指定名称(@Component("foo")).如果没有明确的名称规范,bean将获得从其类名称派生的默认名称.
@Named属于javax.injectAPI.它标记要作为bean自动检测的类,并要求您指定名称.
Spring支持这两种API.在同一个类中使用两个注释没有意义,因为它们提供相同的功能.
也可以看看:
Spring支持@Named注释(JSR-330)作为@Component(Spring)的替代.
一般来说,@Named名称很差,因为没有描述它的作用,所以我更愿意随时使用@Component.
| 归档时间: |
|
| 查看次数: |
40327 次 |
| 最近记录: |