一、配置文档配置项的调用(application.properties可放在resources,或者resources下的config文件夹里)
package com.my.study.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.my.study.model.Student; @RestController @SpringBootApplication @RequestMapping("/user") public class UserController { @Value("${test.stuName}") private String stuName; @Value("${test.stuSex}") private String stuSex; @RequestMapping("/test") public Object sayHello() { Student student = new Student(); student.setStuName(stuName); student.setStuSex(stuSex); return student ; } }
启动后在浏览器直接输入http://localhost:18080/user/test,就直接打印出配置文件中的配置内容。
二、绑定对象bean调用
有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = “test”)来指明使用哪个
注意:类中一定要有get set 方法,否则参数无法绑定
package com.my.study.model; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix ="test") public class ConfigBean { private String stuName; private String stuSex; /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "ConfigBean [stuName=" + stuName + ", stuSex=" + stuSex + "]"; } /** * @return the stuName */ public String getStuName() { return stuName; } /** * @param stuName the stuName to set */ public void setStuName(String stuName) { this.stuName = stuName; } /** * @return the stuSex */ public String getStuSex() { return stuSex; } /** * @param stuSex the stuSex to set */ public void setStuSex(String stuSex) { this.stuSex = stuSex; } }
这里配置完还需要在spring Boot入口类加上@EnableConfigurationProperties并指明要加载哪个bean,如果不写ConfigBean.class,在bean类那边添加
package com.my.study; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import com.my.study.model.ConfigBean; @SpringBootApplication @EnableConfigurationProperties(ConfigBean.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
最后在Controller中引入ConfigBean使用即可,如下:
package com.my.study.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.my.study.model.ConfigBean; @RestController @SpringBootApplication @RequestMapping("/user") public class UserController { @Autowired ConfigBean configBean; @RequestMapping("/test") public Object sayHello() { return configBean; } }