我有一个Spring启动2.3.3.RELEASE
项目。
主要应用类别
@SpringBootApplication()
public class TestApplication {
...
}
@ConfigurationProperties(prefix = "test")
public class TestProperties {
...
}
@Configuration
@EnableConfigurationProperties({TestProperties.class})
public class TestConfiguration {
}
@Service
public class AmazonEmailService {
private final AmazonSimpleEmailService client;
@Autowired
private TestProperties props;
public AmazonEmailService() {
props.getEmail(); // Here props is null ...
}
}
在这里,TestProperties
自动装配是空在AmazonEmailService
。不知道缺少什么。
其他自动装配在其他课程中也可以使用。
您可以改用@Autowired
构造函数吗?
private TestProperies props;
@Autowired
public AmazonEmailService(TestProperties props){
this.props=props;
props.getEmail(); //Ok now.
}
这是因为@Autowired
Spring 使用on属性将AFTER对象创建的值注入。但是在您的情况下,您尝试在构造器内使用道具。那时,它仍然为空
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句