關於springboot讀取自定義的配置
阿新 • • 發佈:2018-11-08
我是自定義一個關於發郵件的自定義檔案,然後讀取它,在網上找了很多關於讀取檔案的,結果一直髮現值為null,用@Value讀取也為null,因為我不是在controller層讀取配置,而是在util工具包讀取,就十分麻煩,
記錄下來自己走過的坑:
第一步不用說,建立配置檔案;
第二步,建立配置檔案的類:
@Component @Configuration @ConfigurationProperties(prefix = "email", ignoreUnknownFields = false) @PropertySource(value={"classpath:email.properties"},encoding="utf-8") public class EmailProperty { private String from; private String clientPassWord; private String port; private String ipAddress; private String server; /** * 此處省略getter和setter方法 */ }
第三步,在自己需要使用的地方,注:(非controller層)
@Component // 很重要 public class EmailUtils { @Autowired // 非常重要 private EmailProperty em; public static EmailUtils email; // 也重要 @PostConstruct // 極其重要 public void init() { email = this; email.em = this.em; } // 下面就是呼叫了, ....... email.em.getFrom() //就獲得想要的值,非null ....... }
三步解決,非controller層,讀取配置檔案