注解配置bean的引用

注解配置bean的引用

1.AutowiredAnnotationBeanPostProcessor

由component-scan自动注册该实例,并且可以自动装配具有@Autowired、@Resource和@Inject注解的属性

@Autowired注解自动装配具有兼容类型的单个bean属性,可以用它注解(构造器、字段、方法),没有匹配的时候,Spring将会报错

@Autowired
private UserService userService;

private UserService userService;

@Autowired
public void setUserService(UserService userService) {
    this.userService = userService;
}

@Autowired(required = false) required为false时,标志该注解的属性运行不被设置。

有多个同类型对象的时候,可以根据名称来装配对象

如下,属性名称和注解后的value名称是一致的

@Autowired
private UserRepository userRepository;
@Repository(value = "userRepository")
public class UserJdbcRepository implements UserRepository {
    @Override
    public void save() {
        System.out.println("UserJdbcRepository Save user");
    }
}

如果不设置value值,spring会提示装配错误

或者使用@Qualifier("userRepositoryImpl")注解,标识属性类型

@Autowired
@Qualifier("userRepositoryImpl")
private UserRepository userRepository;

在方法参数中

@Autowired
public void setUserRepository(@Qualifier("userRepositoryImpl") UserRepository userRepository) {
    this.userRepository = userRepository;
}

你可能感兴趣的:(注解配置bean的引用)