我正在尝试从assert_eq!
文件中获取一些属性,我的代码如下:
主应用程序类:
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
属性(我也尝试通过这种方式来获取它们)。当我打印上下文时,我可以在Bean列表中看到这些类,并且据我所知我的包层次结构是正确的,那么可能是什么问题呢?
编辑 好的,我从重复的问题中得到了建议,并按如下所示更改了我的主类代码: 主应用程序类:
@Value
但是我遇到了同样的错误。那不是建议吗?