把一些可能会经常变动的东西写在配置文件中,可以增加程序的灵活性,避免多次改版发版。

在sping boot中除了自带的默认配置文件application.properties之外,我们还可以在resource下自定义配置文件,比方我们可以在resource下新加custom/my.properties文件,内容如下,虽然都是String格式,但通过一些处理,既可以返回数组,也可以返回Map:

kafka.producer.name=root
kafka.producer.age=23
table.column.qualifier=name,age,nick_name,my_car
business.map=car:选车,service:服务,community:社区,my:我的,headline:头条
 

同时新建一个配置类MyConfig,内容如下:

package com.bitauto.Configuration;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources; import java.util.HashMap;
import java.util.Map; /**
* Created by wangbin10 on 2018/5/4.
*/
@PropertySources({
@PropertySource("classpath:custom/my.properties"),
@PropertySource(value = "${my.properties}", ignoreResourceNotFound = true)})
@Configuration
public class MyConfig {
@Value("${kafka.producer.name}")
private String name;
@Value("${kafka.producer.age}")
private int age;
@Value("${table.column.qualifier}")
private String qualifier;
@Value("${business.map}")
private String businessMap; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String[] getQualifier() {
return qualifier.split(",");
} public void setQualifier(String qualifier) {
this.qualifier = qualifier;
} public Map getBusinessMap() {
String[] strings = businessMap.split(",");
Map<String,String> map=new HashMap();
for (String string : strings) {
String[] split = string.split(":");
map.put(split[0],split[1]);
}
return map;
} public void setBusinessMap(String businessMap) {
this.businessMap = businessMap;
}
}

在测试文件中将MyConfig注入,即可得到配置文件中的信息。

@RunWith(SpringRunner.class)
@SpringBootTest
public class HbnApplicationTests {
@Autowired
private MyConfig myConfig;
@Test
public void test09(){
String name=myConfig.getName();
int age = myConfig.getAge();
System.out.println("name="+name+"age="+age);
}
}
												

最新文章

  1. sqlalchemy 实体属性提前加载
  2. 学习制作第一个 openfire 插件
  3. windows与linux之间传输文件
  4. JVM内存状况查看方法和分析工具-jmap
  5. 安装使用adobe_photoshop_cs6
  6. css3 transform 变形
  7. 8592 KMP算法
  8. OCaml Language Sucks
  9. 查看.a架构文件
  10. Myeclipse快捷键集合
  11. 几种加密算法的java实现包括MD5、RSA、SHA256
  12. 浅谈Java反射
  13. Python第十六天 类的实例化
  14. 关于PHP批量图片格式转换的问题--本文转成webp, 其他过程格式一样
  15. mui 页面提示:Unable to preventDefault inside passive
  16. 数据库锁机制(以MySQL为例)
  17. 在外网访问家里面的电脑 和 DMZ
  18. CUDA H624解码性能测试
  19. spring boot2集成ES详解
  20. docker学习-docker安装

热门文章

  1. Linux运维完全小白入门指南
  2. springboot 配置多数据源 good
  3. Blend_Effect
  4. 安装在谷歌axure小工具
  5. SQL_DML简单的操作
  6. Parse陨落,开发者服务今后路在何方?
  7. JDK源码阅读——Vector实现
  8. 用MVVM模式开发中遇到的零散问题总结(3)——自制正则表达式万能绑定转换器
  9. MVC 自定义路由规则
  10. WPF MvvmLight简单实例(1) 页面导航