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

前面我介绍了spring-boot的快速搭建过程,各位小伙伴们肯定也小有体会,使用起来是非常方便。

spring-boot兼顾了spring的强大的功能,使用各种配置非常简易。

在前面几章的介绍中不知道有没有这种感觉,没有了原来自己整合spring各种烦人配置了,只需在pom中引入插件即可完成。

其实是spring-boot的spring-boot-starter-*帮我们完成了各种整合的默认配置,使得我们在使用中只需关注自己的业务代码的配置即可。

在学习新东西的时候首先就是观看下官方的文档,看下大致有什么功能和特性。

官方给的文档大致描述如下

121694122_1_20180112055950392.png

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

项目结构图

121694122_2_20180112055950736.png

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 majinding888@163.com

* @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

121694122_3_20180112055950798.png

查看控制台输出

121694122_4_20180112060130923.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值