自动注入@Autowired注解与@resource注解的区别

@Autowired是spring的注解,默认根据类型装配,当当前类型的bean不存在会报错,可以使用@Autowired(required=false) 配置,如果有则装配,null则跳过不会报错。当一个userDao接口有多个实现类时,可以配合@Qualifier实现根据名称装配,如下

public class UserService {
    @Autowired
    @Qualifier(name="userDao1")    
    private UserDao userDao; 
}

@resource是j2ee的注解,默认根据名称装配,如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。

你可能感兴趣的:(java,spring)