springboot 是习惯优于配置,抛弃SSM中繁琐的配置内容,大量的基础配置由框架的完成。所以我们现在没有用任何的配置文件,可以快速的将项目运行起来。

我们找到web模块中的application.properties文件 这是一个全局的配置文件,存放于项目的中resources目录中。配置文件支持properties文件和yml文件。yml文件的层级语法更要清晰写。

我们来删除项目中的application.properties的文件(如果项目中存在的话),新建一个application.yml文件,修改文件内容如下

 server:
port: 8001

重新启动项目,访问http://localhost:8001/getlist

注意下语法

1 yml层级接口,第二行的内容要加上一个tab键

2 第二行的:后边要加上一个空格 然后在去写上内容

我们会看到 正确的返回了JSON内容,而8080已经不能访问。这就是习惯优于配置,框架默认给我们的设置一个启动端口,不需要我们再去指定端口,但是我们依然可以重新配置来覆盖默认的内容。

自定义配置

有时候我们需要配置一些信息常量值

我们再次修改application.yml文件,内容如下

 server:
port: 8001 test:
test1: 哈哈
test2: 123456

修改Testcontroller中的代码,将我们写好的配置内容绑定到字段上,内容如下

 @RestController
public class Testcontroller { @Autowired
TestService testService; @Value("${test.test1}")
private String test1; @Value("${test.test2}")
private String test2; @GetMapping("/sayhello")
public String sayHello() {
return "Hello Word";
} @GetMapping("/getlist")
public List<TestDto> getlist(){
return testService.getTestList();
} @GetMapping("/gettest")
public String gettest(){
return test1+test2;
}
}

访问http://localhost:8001/gettest

看到返回值:哈哈123456

说明我们的配置文件已经生效了

多配置环境

一般我们在开发的过程中,不同的环境需要不同的配置文件。比如我们 数据库连接字符串,正式和测试,和开发环境中的都不一样

我们先创建三个文件

application-dev.yml  本地开发环境的配置文件

application-testyml  测试环境中的配置文件

application-prod.yml 正式环境的配置文件

我们再次修改这些内置文件内容如下

application.yml文件

 server:
port: 8001 spring:
profiles:
active: dev

application-dev.yml

 test:
test1: 开发环境
test2: 123456

application-prod.yml

 test:
test1: 正式环境
test2: 123456

application-test.yml

 test:
test1: 测试环境
test2: 123456

我们重新运行项目 访问http://localhost:8001/gettest

我们会看到返回值 :开发环境123456

我们再次修改active值为 test

再次访问 http://localhost:8001/gettest

我们会看到返回值 : 测试环境123456

说明我们修改的多环境已经生效了

我们在按照上一篇文章的方式进行项目打包

切换到web的tartget目录中执行命令

java -jar somefun-web-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

我们再次访问 http://localhost:8001/gettest

会发现返回内容:正式环境123456

同样的我们也可以在命令行中指定其他的环境参数值

这里只是列举了一些简单的使用方式,更加详细的配置内容可以关注SpringBoot官方文档https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/

3 springboot配置文件的更多相关文章

  1. 解决spring-boot配置文件使用加密方式保存敏感数据启动报错No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly

    spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher} ...

  2. springboot配置文件中使用当前配置的变量

    在开发中,有时我们的application.properties某些值需要重复使用,比如配置redis和数据库或者mongodb连接地址,日志,文件上传地址等,且这些地址如果都是相同或者父路径是相同的 ...

  3. SpringBoot 配置文件存放位置及读取顺序

    SpringBoot配置文件可以使用yml格式和properties格式 分别的默认命名为:application.yml.application.properties 存放目录 SpringBoot ...

  4. [SpringBoot] - 配置文件的多种形式及JSR303数据校验

    Springboot配置文件: application.yml   application.properties(自带) yml的格式写起来稍微舒服一点 在application.properties ...

  5. 将springboot配置文件中的值注入到静态变量

    SpringBoot配置文件分为.properties和.yml两种格式,根据启动环境的不同获取不同环境的的值. spring中不支持直接注入静态变量值,利用spring的set注入方法注入静态变量 ...

  6. SpringBoot配置文件 application.properties详解

    SpringBoot配置文件 application.properties详解   本文转载:https://www.cnblogs.com/louby/p/8565027.html 阅读过程中若发现 ...

  7. Spring-Boot配置文件数据源配置项

    Spring-Boot配置文件数据源配置项(常用配置项为红色) 参数 介绍 spring.datasource.continue-on-error = false 初始化数据库时发生错误时,请勿停止 ...

  8. 【日常错误】spring-boot配置文件读取不到

    最近在用spring-boot做项目时,遇到自定义的配置文件无法读取到的问题,通过在appcation.java类上定义@PropertySource(value = {"classpath ...

  9. SpringBoot——配置文件加载位置及外部配置加载顺序

    声明 本文部分转自:SpringBoot配置文件加载位置与优先级 正文 1. 项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者applic ...

  10. 【SpringBoot】SpringBoot配置文件及YAML简介(三)

    SpringBoot配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; application.properties application.yml 配置文件的作用:修改Spr ...

随机推荐

  1. Mysql 练习题一

    库操作: 1. 创建 数据库  create database db1; 2. 使用数据库 use db1 3. 查看表  show tables; 4. 删除  drop database db1  ...

  2. JQuery Mobile - 为什么绑定事件后会被多次执行?

    JQuery Mobile 在绑定事件时候,发现会被多次执行,为什么啊? 原来,jquery click  不是替换原有的function ,而是接着添加,所以才会执行次数越来越多,怎么办才能按需实现 ...

  3. docker和定时任务

    查看linux信息 cat /etc/issue 以id运行容器docker start 1c3339d7f9a8通过id结束容器 docker kill 1c3339d7f9a8 Ubuntu 安装 ...

  4. Python(IO model)

    day34 IO model 举例:https://blog.csdn.net/ZWE7616175/article/details/80591587 参考:http://www.cnblogs.co ...

  5. Swift 里字符串(七)stringIndex

    在 String 里,用来索引 Character 的,不是整数,而是StringIndex 内部结构 extension String { /// A position of a character ...

  6. vue2.0函数(箭头函数)的this作用域

    在做vue项目时用到了axios,但是发现axios请求之后的回调函数里this并不指向当前vue实例,从而导致浏览器报错. 出错代码及结果: created : function(){ axios. ...

  7. 逆向工程生成的Mapper.xml以及*Example.java详解

    逆向工程生成的接口中的方法详解 在我上一篇的博客中讲解了如何使用Mybayis逆向工程针对单表自动生成mapper.java.mapper.xml.实体类,今天我们先针对mapper.java接口中的 ...

  8. 【BZOJ3217】ALOEXT 分块

    题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3217 分块过掉辣!!!!!!$O(n^{1.5}+q\times \sqrt{n})$的 ...

  9. Flowable BPMN 简单使用

    1.Flowable是什么? Flowable是一个使用Java编写的轻量级业务流程引擎.Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义 ...

  10. zookeeper知识点学习

    单机模式配置: Zookeeper 的启动脚本在 bin 目录下,Linux 下的启动脚本是 zkServer.sh 在你执行启动脚本之前,还有几个基本的配置项需要配置一 下,Zookeeper 的配 ...