Spring Boot-自动接线失败

时间:2018-11-23 10:42:26

标签: spring spring-boot properties autowired

我正在尝试从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

但是我遇到了同样的错误。那不是建议吗?

0 个答案:

没有答案