@Autowired,@Qualifer,@Resource的用法区别
[1]
@Autowired+@Qualifer
@Autowired can be used alone . If it is used alone , it will be wired by type . So problems arises if more than one bean of the same type are declared in the container as @Autowired does not know which beans to use to inject. As a result , use @Qualifier together with @Autowired to clarify which beans to be actually wired by specifying the bean name (wired by name)
[2]
@Resource
@Resource is wired by name too . So if @Autowired is used together with @Qualifier , it is the same as the @Resource.
[3] diff
The difference are that @Autowired and @Qualifier are the spring annotation while @Resource is the standard java annotation (from JSR-250) . Besides , @Resource only supports for fields and setter injection while @Autowired supports fields , setter ,constructors and multi-argument methods injection.