栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot的配置文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot的配置文件

文章目录
  • 一、springboot三种配置文件
    • 1、默认配置文件properties格式
    • 2、yml格式配置文件
    • 3、yaml格式配置文件
    • 4、配置文件加载优先级
  • 二、配置文件数据读取
    • 1、单一数据读取
    • 2、变量引用
    • 3、配置文件全部变量引用
    • 4、引用型数据

一、springboot三种配置文件 1、默认配置文件properties格式

我们可以在配置文件里面修改相关配置,你可以参考springboot配置文件官方的文档介绍,看可以修改哪些配置。这里以端口号为例。修改默认端口号,直接在application.properties配置文件中修改。直接输入server.port=80就修改好了。properties格式文件修改没有太高的格式要求,直接用键值对形式key=value就行了

2、yml格式配置文件

yml格式格式要求:

  1. 注解用 #表示
  2. 大小写敏感
  3. 属性值前面要加上空格
  4. 属性层级关系用空格缩进表示

例如我要修改端口号为81,具体格式如下:

数组格式配置:

hobby:
  - c
  - java
  - python
# 或者
hobbys: [c,java,python]

对象数组:

users:
  - name: cx
    age: 18
  - name: ls
    age: 20
# 或者
users1: [{name: cx,age: 18},{name: ls,age: 20}]
3、yaml格式配置文件

yaml配置文件格式和yml一样。

4、配置文件加载优先级

properties>yml>yaml
如果三种配置文件都存在,有相同的属性配置,优先级满足如上配置。如果没有重复属性,yml与yaml里面的配置信息也是会被加载的。

二、配置文件数据读取 1、单一数据读取

直接在属性上面加上 @Value("${city}")注解,Value里面写的是spel表达式,需要注入什么属性就用spel表达式注入。例如我注入city属性和hobby里面的第二个索引格式如下:

@RestController
public class UserController {

    @Value("${city}")
    private String city;

    @Value("${hobby[1]}")
    private String hobby;

    @RequestMapping("/testBoot")
    public String testBoot(){

        return "city=" + city +"; hobby=" + hobby;
    }
}

2、变量引用

用spel表达式+拼接属性

users:
  - name: cx
    age: 18
    hobby: ${hobby[1]}
  - name: ls
    age: 20
    hobby: ${hobby[2]}andjava
3、配置文件全部变量引用

全部变量引用类型要用Environment类型,最后还要用@Autowired注解注入。

    @Autowired
    private Environment evn;

    @RequestMapping("/testBoot")
    public String testBoot(){

        return "hobbies:"+evn.getProperty("hobbies[0]");
    }
4、引用型数据
  1. 创建与配置属性相同的实体类
  2. @Component注解加载实体类带spring容器
  3. @ConfigurationProperties(prefix = “user”)注解实体类与配置文件联系
  4. @Autowired注入属性
@Component
@ConfigurationProperties(prefix = "user")
public class User {

    private String name;
    private Integer age;
    private String hobby;
    @Autowired
    private User user;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/848317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号