前面我介绍了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