1. 程式人生 > >關於springboot讀取自定義的配置

關於springboot讀取自定義的配置

我是自定義一個關於發郵件的自定義檔案,然後讀取它,在網上找了很多關於讀取檔案的,結果一直髮現值為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層,讀取配置檔案