分享

spring-boot(五)自定义属性配置

 关平藏书 2018-01-12

前面我介绍了spring-boot的快速搭建过程,各位小伙伴们肯定也小有体会,使用起来是非常方便。
spring-boot兼顾了spring的强大的功能,使用各种配置非常简易。
在前面几章的介绍中不知道有没有这种感觉,没有了原来自己整合spring各种烦人配置了,只需在pom中引入插件即可完成。
其实是spring-boot的spring-boot-starter-*帮我们完成了各种整合的默认配置,使得我们在使用中只需关注自己的业务代码的配置即可。

在学习新东西的时候首先就是观看下官方的文档,看下大致有什么功能和特性。
官方给的文档大致描述如下
微信截图_20161224210920.png

下面就来介绍下,如何在spring-boot的基础上完成自定义的配置。案例代码在 “spring-boot(四) 日志框架集成” 的基础上改造

项目结构图
微信截图_20161224221139.png

1。在application.properties中增加自己的配置参数值
注意:这里介绍了参数命名和参数间的引用

  1. name=张三丰
  2. my.age=149
  3. my-kongfu=太极拳
  4. my.info=姓名:${name},年龄:${my.age},功夫=${my-kongfu}

2。 编写对于的config实体对象 hello/config/MyConfig.java
注意:这里介绍了注入实例参数和静态参数

  1. package hello.config;
  2. import java.io.Serializable;
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.context.annotation.Configuration;
  5. /**
  6. * @description
  7. *
  8. * @author Administrator - JingjingMa
  9. * @Email <a href="majinding888@163.com">majinding888@163.com</a>
  10. * @date 2016-12-24 下午7:57:45
  11. * @version 6.0
  12. * @DevTool Created By Eclipse 4.3
  13. *
  14. */
  15. @Configuration
  16. public class MyConfig implements Serializable {
  17. private static final long serialVersionUID = 1L;
  18. @Value("${name}")
  19. private String name;
  20. @Value("${my.age}")
  21. private Integer age;
  22. @Value("${my-kongfu}")
  23. private String kongfu;
  24. public static String info;
  25. public String getInfo() {
  26. return info;
  27. }
  28. @Value("${my.info}")
  29. public void setInfo(String info) {
  30. MyConfig.info = info;
  31. }
  32. public String getName() {
  33. return name;
  34. }
  35. public void setName(String name) {
  36. this.name = name;
  37. }
  38. public Integer getAge() {
  39. return age;
  40. }
  41. public void setAge(Integer age) {
  42. this.age = age;
  43. }
  44. public String getKongfu() {
  45. return kongfu;
  46. }
  47. public void setKongfu(String kongfu) {
  48. this.kongfu = kongfu;
  49. }
  50. @Override
  51. public String toString() {
  52. return "MyConfig [name=" + name + ", age=" + age + ", kongfu=" + kongfu + "]";
  53. }
  54. }

3。 编写测试的controller类

  1. @Controller
  2. public class ConfigController {
  3. private Logger log = LoggerFactory.getLogger(this.getClass());
  4. @Autowired
  5. MyConfig config;
  6. @RequestMapping("/myconfig")
  7. @ResponseBody
  8. public String info() {
  9. log.info("配置解析:{}", config);
  10. return MyConfig.info;
  11. }
  12. }

到此自定义属性配置已经完成了, 启动主启动类, 浏览器访问 http://localhost:666/myconfig
微信截图_20161224221742.png

查看控制台输出

微信截图_20161224221900.png


好了以上就是简单的介绍下如何自定义属性的配置及使用,更多其他强大的属性配置(随机数,命令行设置,多环境配置等等)还需参考官方文档介绍自己挖掘。

源代码附件: my-springboot-5.tar.gz

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多