@Resource
JDK默認(rèn)提供的注解掀淘,數(shù)據(jù)JSR-250規(guī)范的一部分鲁森,可以標(biāo)記在屬性或者setter方法上曼氛,在實現(xiàn)依賴注入的時候匹配的順序是:
● 基于名稱
● 基于類型
● 基于@Quailfier
@Inject
數(shù)據(jù)JSR-330提供的注解狡蝶,該規(guī)范主要提供Java相關(guān)的注解咸这,需要手動引入
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
處理順序:
● 基于類型
● 基于@Quailfier
● 基于名稱和@Named
@Autowired
Spring提供的注解,處理順序:
● 基于類型
● 基于@Quailfier
● 基于名稱
總結(jié)
@Resource和@Inject都是Java平臺提供的注解拱雏,主要用于JavaEE棉安,而之所以能在Spring中生效是由于Spring實現(xiàn)了相關(guān)的規(guī)范,而@Autowired是Spring提供注解铸抑,使用上只要明白其注入順序贡耽,正確注入使用即可,沒有過多的區(qū)別