application.properties提供自定义属性的支持,这样我们就可以把一些常量配置在这里:
com.aa.name="aa"
com.aa.want="祝大家鸡年大吉吧"
然后直接在要使用的地方通过注解@Value(value=”${config.name}”)就可以绑定到你想要的属性上面
@RestController
public class UserController {
@Value("${com.aa.name}")
private String name;
@Value("${com.aa.want}")
private String want;
@RequestMapping("/")
public String hexo(){
return name+","+want;
}
}
我们启动工程输入http://localhost:8080 就可以看到打印了”aa祝大家鸡年大吉吧”。
有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = “com.aa”)来指明使用哪个
@ConfigurationProperties(prefix = "com.aa")
public class ConfigBean {
private String name;
private String want;
// 省略getter和setter
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class Chapter2Application {
public static void main(String[] args) {
SpringApplication.run(Chapter2Application.class, args);
}
}
最后在Controller或引用的地方引入ConfigBean使用即可,如下:
@RestController
public class UserController {
@Autowired
ConfigBean configBean;
@RequestMapping("/")
public String hexo(){
return configBean.getName()+configBean.getWant();
}
}
com.aa.name="aa"
com.aa.want="祝大家鸡年大吉吧"
然后直接在要使用的地方通过注解@Value(value=”${config.name}”)就可以绑定到你想要的属性上面
@RestController
public class UserController {
@Value("${com.aa.name}")
private String name;
@Value("${com.aa.want}")
private String want;
@RequestMapping("/")
public String hexo(){
return name+","+want;
}
}
我们启动工程输入http://localhost:8080 就可以看到打印了”aa祝大家鸡年大吉吧”。
有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = “com.aa”)来指明使用哪个
@ConfigurationProperties(prefix = "com.aa")
public class ConfigBean {
private String name;
private String want;
// 省略getter和setter
}
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class Chapter2Application {
public static void main(String[] args) {
SpringApplication.run(Chapter2Application.class, args);
}
}
最后在Controller或引用的地方引入ConfigBean使用即可,如下:
@RestController
public class UserController {
@Autowired
ConfigBean configBean;
@RequestMapping("/")
public String hexo(){
return configBean.getName()+configBean.getWant();
}
}