【spring boot】3.spring boot項目,綁定資源文件為bean並使用
阿新 • • 發佈:2017-10-12
display fig 屬性綁定 factor pin none rand actor tag
整個例子的結構目錄如下:
1.自定義一個資源文件
com.sxd.name = 申九日木
com.sxd.secret = ${random.value}
com.sxd.intValue = ${random.int}
com.sxd.uuid = ${random.uuid}
com.sxd.age= ${random.int(100)}
com.sxd.resume = 簡歷:①姓名:${com.sxd.name} ②年齡:${com.sxd.age}
2.將資源文件中的屬性綁定到一個bean上
package com.sxd.beans; import org.springframework.boot.context.properties.ConfigurationProperties;View Codeimport org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; /** * User實體 * @Component 聲明User實體為一個bean * @PropertySource 聲明對應綁定了test.properties文件 【應對ConfigurationProperties註解取消掉location的屬性】 * @ConfigurationProperties 對應綁定前綴為com.sxd的屬性名 */ @Component @PropertySource(value= "classpath:/test.properties") @ConfigurationProperties(prefix = "com.sxd") public class User { private String name; private Integer age; //資源文件中定義的是com.sxd.uuid而不是uu,這裏的uu字段只是測試如果名稱不對應,是否會賦值成功 private String uu; private String resume; public String getName() { returnname; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getUu() { return uu; } public void setUu(String uu) { this.uu = uu; } public String getResume() { return resume; } public void setResume(String resume) { this.resume = resume; } }
3.spring boot的主入口
package com.sxd.secondemo; import com.sxd.beans.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * spring boot 的主入口類 * @RestController = @ResponseBody + @Controller * @SpringBootApplication spring boot的核心註解 * @EnableConfigurationProperties 激活綁定資源文件的Bean,例如這裏的User.class或者更多 */ @RestController @SpringBootApplication @EnableConfigurationProperties(User.class) public class SecondemoApplication { /** * @Autowired 自動註入,需要@EnableConfigurationProperties中聲明已經激活的Bean才能自動註入成功 */ @Autowired User user; /** * 請求地址為localhost:8080/即可訪問到本方法 * @return */ @RequestMapping("/") public String hello(){ /** * idea中 System.out.println()快捷方式為sout,然後Alt+Enter才能出來 */ System.out.println(user.getResume()); return "打印簡歷:"+user.getResume()+"\n"+"uu是否有值:"+user.getUu(); } public static void main(String[] args) { SpringApplication.run(SecondemoApplication.class, args); } }View Code
4.運行結果:
【spring boot】3.spring boot項目,綁定資源文件為bean並使用