Spring Boot自定义配置与加载

application.properties主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,还可以自定义一些配置项,如:

my.config.msg=this is a string
my.config.url=com.luangeng.com
my.config.conbim=${my.config.msg}${my.config.url} # 随机字符串
my.config.value=${random.value}
my.config.number=${random.int}
my.config.bignumber=${random.long}
# 10以内的随机数
my.config.test1=${random.int(10)}
# 10-20的随机数
my.config.test2=${random.int[5,10]}

增加配置类:

/**
* 自定义属性与加载
*/
@Component
public class MyConfig { @Value("${my.config.msg}")
private String msg; @Value("${my.config.url}")
private String url; @Value("${my.config.conbim}")
private String conbim; public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
} public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} public String getConbim() {
return conbim;
} public void setConbim(String conbim) {
this.conbim = conbim;
} @Override
public String toString() {
return "MyConfig{" +
"msg='" + msg + '\'' +
", url='" + url + '\'' +
", conbim='" + conbim + '\'' +
'}';
}
}

---

配置类的使用:

@RestController
public class InfoController { @Autowired
MyConfig myconfig; @RequestMapping("/info")
public String msg() {
return "client1 service"+myconfig.toString();
} }

多环境配置:

开发Spring Boot应用时,通常会部署到几个不同的环境,比如:开发、测试、生产环境。其中每个环境的数据库地址、服务器端口等等配置都会不同,频繁修改配置文件是个非常繁琐且容易发生错误的事。

对于多环境的配置,Spring Boot通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包。

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

  • application-dev.properties:开发环境
  • application-test.properties:测试环境
  • application-prod.properties:生产环境

至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。如:

spring.profiles.active=test就会加载application-test.properties配置文件内容

end

Spring Boot自定义配置与加载的更多相关文章

  1. 玩转Spring Boot 自定义配置、导入XML配置与外部化配置

    玩转Spring Boot 自定义配置.导入XML配置与外部化配置       在这里我会全面介绍在Spring Boot里面如何自定义配置,更改Spring Boot默认的配置,以及介绍各配置的优先 ...

  2. Spring Boot自定义配置

    一.方法 覆盖自动配置很简单,就当自动配置不存在,直接显式地写一段配置.这段显式配置的形式 不限, Spring支持的XML和Groovy形式配置都可以. 二.原理 @ConditionalOnMis ...

  3. spring boot的静态资源加载

    1.spring boot默认资源处理 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. spring boot默认加载文 ...

  4. Spring Boot 静态资源能加载css 不能加载js

    Spring Boot 配置拦截器的时候默认 是放行 静态资源 , 也就是说不需要进行配置 registry.addResourceHandler("/**") .addResou ...

  5. Spring Boot 2程序不能加载 com.mysql.jdbc.Driver 问题

    用Spring Boot Starter 向导生成了一个很简单SpringBoot程序, 用到了 MySQL, 总是下面不能加载 Mysql driver class 错误. Cannot load ...

  6. Spring Boot自定义配置实现IDE自动提示

    一.背景 官方提供的spring boot starter的配置项,我们用IDE配置的时候一般都有自动提示的,如下图所示 而我们自己自定义的配置却没有,对开发非常不友好容易打错配置,那这个是怎样实现的 ...

  7. spring boot注解 --@spring-boot-devtools 自动加载修改的文件和类

    spriing boot中有一个注解,是自动加载修改后的类或者文件. 使用方法为: spring-boot-devtools=true 需要引入devtools包依赖: <dependency& ...

  8. Spring Boot 2 启动时加载properties文件

    每个项目从开发到测试再到上线所需要的各种环境是不同的,这就需要维护相应的配置文件,比如properties或yml文件.有了配置文件后就要考虑如何与应用进行集成. 对于云环境来讲,项目发布需要打成镜像 ...

  9. spring boot开发 静态资源加载不出来

    spring boot 1.5 版本之前 不拦截静态资源 springboot 2.x版本 拦截静态资源 private static final String[] CLASSPATH_RESOURC ...

随机推荐

  1. 2018.7.12训练赛 -K

    水题 判断素数 因为范围是到16位,所以可以用long long存储 然后判断是否为素数就ok了. 但我提交之后显示10个测试样例通过了9个.......原因是下面标红的部分. 埃氏筛法:若a是合数, ...

  2. IOS中大文件拷贝算法

    + (void)copyFileFromPath:(NSString *)fromPath toPath:(NSString *)toPath { //每次读取数据大小 #define READ_SI ...

  3. php5.6 连接SQL SERVER

    PHP Fatal error: Call to undefined function sqlsrv_connect() in php链接sqlserver出现该错误: 原因是:php5.3 及以上版 ...

  4. 一个声明被new多次

    如果声明一个指针变量,然后为这个变量new多次, eg:Type* A: A = new Type();//1 A = new Type();//2 最后变量A指向的是最后的那个对象,与前面new的无 ...

  5. leetcode刷题1:两数之和two_sum

    题目:(难度:Easy) 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, ...

  6. 中断下半部tasklet【转】

    本文转载自:http://edsionte.com/techblog/archives/1547 tasklet的实现 tasklet(小任务)机制是中断处理下半部分最常用的一种方法,其使用也是非常简 ...

  7. win7 加载 usb3.0驱动

    1.去微软官网下一个 usb3.0 驱动 https://downloadcenter.intel.com/zh-cn/download/26254/-NUC-NUC6i7kyk-USB3-0-Win ...

  8. Centos6.5安装apache

    1:下载 官网: http://www.apache.org/ 官网下载很慢,从别的地方下载 2:安装 tar -zxvf /usr/local/httpd-2.2.9.tar.gz cd /usr/ ...

  9. php二维数组自定义排序

    $arr = array( '0' => array('id' =>1,'price'=>200), '1' => array('id' =>2,'price'=> ...

  10. JMeter ——Test fragment

    fragment 为片段,可以是一个不完整的用例.比如你可以把一个http请求保存为fragment,如果不这样做的话,你是必须先要添加一个测试计划-线程组-http请求的.你可以把某步骤一系列的请求 ...