spring - 春季启动 - 自动装配失败
问题描述
我正在尝试从application.properties
文件广告中获取一些属性,我的代码如下:
主要应用类:
package it.mysite;
@SpringBootApplication
@EnableTransactionManagement
public class MailSenderApplication {
public static void main(String[] args){
ConfigurableApplicationContext context = SpringApplication.run(MailSenderApplication.class, args);
System.out.println("*****");
for (String name : context.getBeanDefinitionNames()) {
System.out.println(name);
}
System.out.println("*****");
new MySendService().sendReport();
}
}
我的服务等级:
package it.mysite.service;
@Service
public class MySendService {
@Value("${mail.fc.to}")
private String[] to;
@Value("${mail.fc.subject}")
private String subject;
@Autowired ReportService reportEmailService;
@Autowired MailProperties mailProperties;
public void sendReport(){
if(mailProperties.getTo().length > 0) {
}
}
我获取属性的类:
package it.mysite.properties;
@Component
@ConfigurationProperties("mail.fc")
public class MailProperties {
private String[] to;
public String[] getTo(){
return to;
}
}
配置文件:
# Email config
mail.fc.to=my@mail.com
mail.fc.subject=My subject
所有@Autowired
属性都是null
,还有@Value
属性(我也尝试以这种方式获取它们)。当我打印我的上下文时,我可以在 bean 列表中看到这些类,并且我知道我的包层次结构是正确的,那么问题可能是什么?
编辑 好的,我从重复的问题中得到了建议,我改变了我的主类代码如下: 主应用程序类:
package it.mysite;
@SpringBootApplication
@EnableTransactionManagement
public class MailSenderApplication {
@Autowired MySendService mySendService;
public static void main(String[] args){
ConfigurableApplicationContext context = SpringApplication.run(MailSenderApplication.class, args);
System.out.println("*****");
for (String name : context.getBeanDefinitionNames()) {
System.out.println(name);
}
System.out.println("*****");
new MailSenderApplication().boot();
}
private void boot(){
mySendService.sendReport();
}
}
但我得到了同样的错误。不是这个建议吗?
解决方案
推荐阅读
- html - 如何将徽标与链接对齐?
- c# - Process.Start() 以交互方式工作,但不能通过终端调试或执行
- arrays - 循环访问特定的广告用户
- python-3.x - Python重新搜索/匹配“|” 问题
- ios - 轮询 GCD 主队列,避免死锁
- server - 如何在 LINUX 中更改 PublishingWebAgent FileDeploymentServer 端口更改
- reactjs - 如何使用 react 和 typescript 在另一个函数中调用该函数?
- entity-framework - 停止在 EF Core 中自动发现属性和类型
- javascript - CSS 侧边栏菜单溢出
- android - 如何获取 TextView 的默认颜色