SpringBoot学习笔记:读取配置文件

配置文件

  在以往的项目中,我们主要通过XML文件进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息。在SpringBoot中,我们只需要将配置放在application.properties中,然后用以下的三种方式即可轻松读取。

  需要注意的是,在application.properties中,所有的配置都是以key=value的形式定义的,如下

server.port=9090
server.servlet.context-path=/
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8

  其中,key值的左边称之为左前缀,如server.servlet.context-path的左前缀是server.servlet。

三种方式

1、Environment

@RestController
public class ActivateAppController { @Autowired
private Environment env; @RequestMapping("/hello.do")
public String hello(){
return env.getProperty("spring.mail.host");
}
}

2、@Value

@RestController
public class ActivateAppController { @Value("${spring.mail.host}")
private String mailPort; @RequestMapping("/hello.do")
public String hello(){
return mailPort;
}
}

3、自定义配置类

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; @ConfigurationProperties(prefix = "com.config")
@Component
public class MyConfig {
private String name;
public String getName(){
return name;
}
}

  

多环境配置

  在平时的开发中,项目会被部署到测试环境、生产环境,但是每个环境的数据库地址等配置信息都是不一样的,此时我们可以定义多个配置文件,名称遵循application-环境.properties,如下:

  

  在开发环境总,可以通过修改application.properties中的spring.profiles.active值来激活对应环境的配置,在部署时可以通过如下命令来执行使用对应的配置。

  java -jar xxx.jar --spring.profiles.active =dev

最新文章

  1. Unbroken(坚不可摧)——Mateusz M
  2. 查看数据库表的数据量和SIZE大小的脚本修正
  3. 【POJ 3321】Apple Tree
  4. webform中使用webapi,并且使用autofac
  5. Android中EditText样式修改 聚焦光标、背景
  6. Myeclipse其实和Eclipse差不多的, 至少不输出来的项目时一模一样的
  7. Python3.5创建虚拟环境
  8. Map,List,POJO深拷贝(序列化实现)方法与注意事项
  9. VIM命令模式与输入模式切换
  10. Mego开发文档 - 基本保存操作
  11. ArcGIS AddIn 批量设置栅格图层背景色为透明
  12. 腾讯云centos7.2安装宝塔面板和LAMP
  13. 将多窗体应用程序改造为仿Chrome形式的简易方法
  14. woff字体MIME类型配置
  15. 关于spire wb.SaveToPdf(f_pdf) excell 转为pdf 乱码问题
  16. Swift 基本数据类型与运算符表达式
  17. 【设计模式】观察者模式 Observer Pattern
  18. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) 题解
  19. 用c写了个后台扫描
  20. python(七):元类与抽象基类

热门文章

  1. P3604 美好的每一天
  2. Django 第一天 开端
  3. URLSearchParams对象
  4. 关于Keil4 转到 Keil5以后的一些错误解决
  5. 100: cf 878C set+并查集+链表
  6. 一步HTML5教程学会体系
  7. Java 合并PDF文件
  8. shell文本处理工具
  9. 找到树中指定id的所有父节点
  10. python 小技巧,给设计好的dict 增加嵌套值