前面我介绍了spring-boot的快速搭建过程,各位小伙伴们肯定也小有体会,使用起来是非常方便。 spring-boot兼顾了spring的强大的功能,使用各种配置非常简易。 在前面几章的介绍中不知道有没有这种感觉,没有了原来自己整合spring各种烦人配置了,只需在pom中引入插件即可完成。 其实是spring-boot的spring-boot-starter-*帮我们完成了各种整合的默认配置,使得我们在使用中只需关注自己的业务代码的配置即可。
在学习新东西的时候首先就是观看下官方的文档,看下大致有什么功能和特性。 官方给的文档大致描述如下
下面就来介绍下,如何在spring-boot的基础上完成自定义的配置。案例代码在 “spring-boot(四) 日志框架集成” 的基础上改造
项目结构图
1。在application.properties中增加自己的配置参数值
注意:这里介绍了参数命名和参数间的引用
name=张三丰 my.age=149 my-kongfu=太极拳 my.info=姓名:${name},年龄:${my.age},功夫=${my-kongfu}
2。 编写对于的config实体对象 hello/config/MyConfig.java
注意:这里介绍了注入实例参数和静态参数
package hello.config;
import java.io.Serializable;
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration;
/** * @description * * @author Administrator - JingjingMa * @Email <a href="majinding888@163.com">majinding888@163.com</a> * @date 2016-12-24 下午7:57:45 * @version 6.0 * @DevTool Created By Eclipse 4.3 * */ @Configuration public class MyConfig implements Serializable {
private static final long serialVersionUID = 1L;
@Value("${name}") private String name;
@Value("${my.age}") private Integer age;
@Value("${my-kongfu}") private String kongfu;
public static String info;
public String getInfo() { return info; }
@Value("${my.info}") public void setInfo(String info) { MyConfig.info = info; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Integer getAge() { return age; }
public void setAge(Integer age) { this.age = age; }
public String getKongfu() { return kongfu; }
public void setKongfu(String kongfu) { this.kongfu = kongfu; }
@Override public String toString() { return "MyConfig [name=" + name + ", age=" + age + ", kongfu=" + kongfu + "]"; }
}
3。 编写测试的controller类
@Controller public class ConfigController { private Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired MyConfig config;
@RequestMapping("/myconfig") @ResponseBody public String info() { log.info("配置解析:{}", config); return MyConfig.info; } }
到此自定义属性配置已经完成了, 启动主启动类, 浏览器访问 http://localhost:666/myconfig
查看控制台输出
好了以上就是简单的介绍下如何自定义属性的配置及使用,更多其他强大的属性配置(随机数,命令行设置,多环境配置等等)还需参考官方文档介绍自己挖掘。
源代码附件: my-springboot-5.tar.gz
|