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.inject
API.它标记要作为bean自动检测的类,并要求您指定名称.
Spring支持这两种API.在同一个类中使用两个注释没有意义,因为它们提供相同的功能.
也可以看看:
Spring支持@Named
注释(JSR-330)作为@Component
(Spring)的替代.
一般来说,@Named
名称很差,因为没有描述它的作用,所以我更愿意随时使用@Component
.
归档时间: |
|
查看次数: |
40327 次 |
最近记录: |