关于Spring boot中bean类构建构造方法采用@value注入属性值的经验总结

背景(摘抄):项目中我们都要要尽量避免将参数直接写进程序里,这样一旦需要需要修改配置,我们可以只需要在配置文件里做修改,而不必在程序里找,这样可以避免很多错误,个人项目可能不会注意这一点,但是需要上线发布的项目,Configure配置文件就显得非常重要!

今天在学习Spring Boot注入值的时候发现了这个问题,我采用@value方法给FileAppender类注入值,采用的是构造方法注入的,但是一开始我的bean.xml文件中出现了错误。

关于Spring boot中bean类构建构造方法采用@value注入属性值的经验总结_第1张图片

 

说是构造方法无法匹配字符串,苦思冥想又看了老师的代码,发现没什么不同,配置文件里面也配置了,该注释的也注释了,实在想不明白,于是开始百度,在一篇文章中发现了可能是没有在指定的bean中配置constructor-arg属性,于是开始配置,成功解决问题,但是具体的注入方式我还是没太明白,先记录到这吧。

@Component("fileAppender")
public class FileAppender implements Appender {
    private String fileName;

    public FileAppender(@Value("log.txt") String fileName){
        System.out.println("用了构造方法");
        this.fileName = fileName;
        System.out.println(fileName);
    }

 

 

你可能感兴趣的:(关于Spring boot中bean类构建构造方法采用@value注入属性值的经验总结)