【发布时间】:2016-10-11 04:47:42
【问题描述】:
我有 3 个类,它们位于 Spring Boot 应用程序的不同包中,如下所示:
为什么@Autowired 只在某些类中工作?我做错了什么吗?
@Configuration
public class Configurations{
@Autowired
Prop prop; //works fine
@Bean
//other bean definitions
}
@Component
public class Prop{
public void method(){};
}
public class User{
@Autowired
Prop prop; //does not work, null
public void doWork(){
prop.method();
}
}
我也尝试过@PostConstruct,但结果相同
public class User{
@Autowired
Prop prop; //does not work, null
@PostConstruct
public void doWork(){
prop.method();
}
}
【问题讨论】:
-
将组件注解更改为bean注解之后,您可以使用bean注解并在配置中创建一个方法,然后您可以在其他方法上使用bean public Prop prop(){...}
标签: spring-boot autowired