设置了两个User类型的bean,其中一个以@bean的形式注入,另一个以实体类@component形式注入。
@Configuration
public class Myconfig {
@Bean
public User user01() {
return new User("李四", 20,new Pet("tom"));
}
}
@Component
@ConfigurationProperties(prefix = "user1") //去除这句,将不会造成本文的问题
public class User {
private String name;
private int age;
private Pet pet;
}
这里也说明了两个User类型的@bean都注册进入ioc容器中
但即便使用@Resource也始终无法获取到user01(@Autowired+@Qualifier也是如此)
@RestController
public class hello {
@Resource(name = "user01")
User user;
@RequestMapping("/hello")
public String h(){
System.out.println(user);
return "hello "+user;
}
}
结果仍为application.yml中的