一、创建配置文件

如图所示,我们在resources文件夹中新建配置文件application.yml

结构图

二、一些基本配置

server:  port: 8090  //配置端口session-timeout: 30  tomcat.max-threads: 0 tomcat.uri-encoding: UTF-8 spring: datasource: //数据库配置 url : jdbc:mysql://localhost:3306/newbirds username : root password : mymysql driverClassName : com.mysql.jdbc.Driver 

注意:key后面的冒号,后面一定要跟一个空格

三 、自定义的配置

1、在application.yml文件中我们自己定义了age 、name 、manInfo等参数,其中manInfo引用了age、name,引用的格式"${参数名}"

server://端口port: 8081 age: 18
name: jason
manInfo: "age:${age},name:${name}"

怎么使用这些配置呢?我们创建GetManInfo文件(参照上面结构图),
使用配置格式

@Value("${配置文件中的参数名}")
类型 参数名

详细如下

package com.alun;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * Created by Administrator on 2017/5/28. */ @RestController public class GetManInfo { //获取配置文件中的age @Value("${age}") private int age; //获取配置文件中的name @Value("${name}") private String name; //获取配置文件中的manInfo @Value("${manInfo}") private String manInfo; @RequestMapping(value = "/getAge",method= RequestMethod.GET) public int getAge(){ return age; } @RequestMapping(value = "/getName",method= RequestMethod.GET) public String getNme(){ return name; } @RequestMapping(value = "/getManInfo",method= RequestMethod.GET) public String getManInfo(){ return manInfo; } } 

2、一个一个的@Value获取觉得很烦,有办法解决么?这个....当然有啊!

在application.yml我们改成这样

server:port: 8081manInfo:age: 18name: jason

新建一个ManInfoProperties文件,(结构参照结构图)使用
@Component
@ConfigurationProperties( prefix = "配置文件里的参数名" )

package com.alun;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/** * Created by Administrator on 2017/5/28. */ @Component @ConfigurationProperties( prefix = "manInfo" ) public class ManInfoProperties { private String age; private String name; public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 

在GetManInfo里 使用 @Autowired

package com.alun;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * Created by Administrator on 2017/5/28. */ @RestController public class GetManInfo { @Autowired private ManInfoProperties manInfoProperties; @RequestMapping(value = "/getManInfo",method= RequestMethod.GET) public String getManInfo(){ return manInfoProperties.getAge(); } } 

四、多环境配置

多环境配置

如上图,创建application-dev.yml(测试环境)和application-prod.yml(生产)环境

application-dev.yml

server:port: 8080manInfo:age: 18name: jason

application-prod.yml

server:port: 8081manInfo:age: 18name: alun

而原有的application.yml则改成这样:

spring:profiles:active: prod

spring.profiles.active: 配置文件名(比如这里是 prod或者dev)

作者:渝潼不肖生
链接:https://www.jianshu.com/p/fb6731ee53d2
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/telwanggs/p/10779963.html

Spring Boot 学习之路二 配置文件 application.yml相关推荐

  1. Spring Boot 学习之路之 Spring Security(二)加入mybatis

    上一篇 Spring Security 基础配置:  http://t.csdn.cn/m9oq5​​​​​​​ 在上文Spring Boot 学习之路之 Spring Security(一)中完成了 ...

  2. Spring Boot学习笔记(二)——HelloWorld实现

    提示:要在Eclipse里使用Spring Boot,首先要安装STS插件,前面我们已经安装了STS插件了,可以创建Spring Boot项目了. 1.创建项目: 新建项目,选择Spring Boot ...

  3. Spring Boot 学习之路 使用JPA对Girl 操作

    package com.imooc.student; import org.springframework.beans.factory.annotation.Autowired; import org ...

  4. eclipse spring boot项目搭建_spring-boot-plus项目配置文件(四)

    spring-boot-plus项目配置文件 https://github.com/geekidea/spring-boot-plus https://github.com/geekidea/spri ...

  5. Spring Boot 学习之配置文件 application.yml

    一.创建配置文件 如图所示,我们在resources文件夹中新建配置文件application.yml 结构图 二.一些基本配置 server: port: 8090 //配置端口session-ti ...

  6. Spring Boot学习笔记-基础(2)

    Spring Boot学习笔记-基础(2) Spring Boot 优点: – 快速创建独立运行的Spring项目以及与主流框架集成 – 使用嵌入式的Servlet容器,应用无需打成WAR包 – st ...

  7. 2023最新首发,全网最全 Spring Boot 学习宝典(附思维导图)

    作者:bug菌 博客:CSDN.掘金.infoQ.51CTO等 简介:CSDN/阿里云/华为云/51CTO博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/ ...

  8. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    Spring MVC 学习总结(二)--控制器定义与@RequestMapping详解 目录 一.控制器定义 1.1.实现接口Controller定义控制器 1.2.使用注解@Controller定义 ...

  9. Spring Boot学习笔记-实践建言

    2019独角兽企业重金招聘Python工程师标准>>> 本文延续<Spring Boot学习笔记-快速示例>,从开发指南中摘出一些实践经验可供参考.这也是笔者看到的眼前一 ...

最新文章

  1. 小端模式和大端模式_计算机字节顺序(大端法和小端法)详解
  2. 挂机脚本_叠猫猫逛店铺挂机脚本,每天稳定50次
  3. Ubuntu通过windows代理上网
  4. axure日期选择器控件_JavaFX 控件 - 输入 (Control - Inputs)
  5. GDCM:把DICOM文件存在vector<char>里面的测试程序
  6. OpenCV cv :: UMat与DirectX10曲面的互操作性的实例(附完整代码)
  7. 怎么制作铁闸门_“短笛”拿铁,最近的心头好!
  8. 检查点(Checkpoint)过程如何处理未提交的事务
  9. matlab矩阵的低秩分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
  10. 【Elasticsearch】玩转 Elasticsearch 7.8 的 SQL 功能
  11. swoole 服务端heartbeat_check_interval心跳检测 客户端 swoole_timer_tick 发送心跳包 这里只是个demo参考
  12. 东北方言编程,程序员咋这么招人稀罕!
  13. lora三层服务器协议,LoRa以及LoRa包含的几种协议
  14. 微信小程序跳转其他外部网站上
  15. java图书商城项目_JavaWeb之网上图书商城-框架搭建
  16. 做业务的程序猿如何提升技能?
  17. Redis并发竞争key的解决方案详解
  18. Linux中如何新建用户
  19. wps高亮怎么取消_一组WPS表格小技巧,简单实用
  20. 论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot

热门文章

  1. sklearn 决策树例子_使用 sklearn 构建决策树并使用 Graphviz 绘制树结构
  2. SkyEye仿真ZYNQ芯片,轻松运行国产操作系统ReWorks
  3. (112)FPGA面试题-简述FPGA设计覆盖率问题
  4. (82)FPGA竞争与冒险-面试必问(六)(第17天)
  5. TCP超时设置的客户端重发5次
  6. Python中的split()函数
  7. python购物程序_Python学习:购物程序
  8. (9)引入哈希桶的概念来实现一个哈希表
  9. [C++] - 中的复制初始化(copy initialization)
  10. 嵌入式Linux系统编程学习之八基于文件指针的文件操作