springboot基於properties檔案型別安全配置

你笑的像一條狗發表於2018-12-23

常規配置都得采用@value進行屬性配置,屬性值比較少的情況下還可以接受,但是屬性值多的情況下就比較麻煩了。

springboot 為我們提供了一種比較簡單的注入方法!

基於properties檔案型別安全配置,程式碼如下

第一種方法

直接在application.properties檔案中配置

w.name = wang
w.sex  = boy 
複製程式碼

Student

@Component
@ConfigurationProperties(prefix = "w")
public class Student {

    String name;
    String sex;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }
}

複製程式碼

controller

	@Autowired
	private Student student;

	//型別安全的配置
	@RequestMapping("student")
	@ResponseBody
	public Student getUser1() {
		return student;
	}
複製程式碼

結果

{"name":"wl","sex":"boy"}

另一種方法

** 可以自定義properties檔案 **

a.properties

w.name = wang
w.sex  = boy 
複製程式碼

這次不在application檔案裡面配置,我們在外面新建的配置檔案。

所以這次我們必須在Student上指定一下檔案的路徑

@PropertySource(value = "classpath:a.properties")

我們在來測試:

{"name":"wl","sex":"boy"}

相關文章