3、SpringBoot_配置文件

四、配置文件

1.前言

  • 曾经使用SpringMVC的时候是手动修改tomcat配置的端口信息,那现在Springboot如何修改?
  • springboot有一个默认的配置文件 application.properties

2.配置文件分类

  • 常用配置信息官方文档地址

    java 复制代码
    https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties
  • 以后记不住什么配置的时候,就去官方找

2.1properties

2.1.1修改端口测试
  • 默认Springboot 通过 application.properties就可以修改默认配置

  • 通过properties 修改端口信息

  • 修改后重启项目查看日志

  • 修改 banner 文件(直接新建一个 banner.txt 文件在idea resources下面即可)

    java 复制代码
                _.._       ,------------------------.
            ,'      `.    (        云哥带我们月薪上万!  )
           /  __) __` \    `-,----------------------'
          (  (`-`(-')  ) _.-'
          /)  \  = /  (
         /'    |--' .  \
        (  ,---|  `-.)__`
         )(  `-.,--'   _`-.
        '/,'          (  Uu",
         (。       ,    `/,-' )
         `.__,  : `。'/  /`--'
           |     `--'  |
           `   `-._   /
            \        (
            /\ .      \.
           / |` \     ,-\
          /  \| .)   /   \
         ( ,'|\    ,'     :
         | \,`.`--"/      }
         `,'    \  |,'    /
        / "-._   `-/      |
        "-.   "-.,'|     ;
       /        _/["---'""]
      :        /  |"-     '
      '           |      /
      |           `      |

2.2yaml 格式

2.2.1语法要求
  • 要求
    • #号 表示注释
    • 大小写敏感
    • 属性层级关系使用多行描述,每行结尾使用冒号结束
    • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
    • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
2.2.2分类
  • yml格式(主流格式)

    • 修改端口信息为8082:新建 application.yml

      java 复制代码
      server:
        port: 8082
  • yaml格式

    • 修改端口信息为8888:新建 application.yaml

      java 复制代码
      server:
        port: 8888
  • 如果两者没有配置提示,添加一个操作即可

    • 找到项目设置

    • 点击Facets找到叶子

    • 添加文件即可

2.2.3读取 yaml 数据
  • 读取单行数据

    java 复制代码
    @Value("${sy.name}")
    private String name;
  • 读取配置全部数据:注意要导入spring包的类

    java 复制代码
    @Autowired
    private Environment env;
  • 读取对象数据

    java 复制代码
    @Component
    @ConfigurationProperties(prefix = "sy")
    @Data
    public class User {
        private String name;
        private String password;
    }
    • @ConfigurationProperties 注解必须指定读取数据的前缀
  • 也可以使用@Value形式读取yml文件中的值

    java 复制代码
    @Component
    @ConfigurationProperties(prefix = "dir.user")
    @Data
    public class User {
        private String name;
        private String password;
        @Value(value = "${dir.url}")
        private String url;
    }
    • yml
    yml 复制代码
    dir:
      user:
        name: byf
        password: 123456
      url: yfdamifeng.cn

2.3配置文件优先级

  • properties > yml > yaml

3.配置文件抽取公共配置

  • 重复配置需要抽取

    java 复制代码
    basedir: /home/springboot
    
    dir:
      logdir: ${basedir}/log
      picturedir: ${basedir}/picture
相关推荐
陈随易8 小时前
Postman 被曝自动往 Claude Code 和 Codex 装插件
前端·后端·程序员
AI你一生一世10 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
云-缩影10 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯10 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
考虑考虑11 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
无奈何杨12 小时前
风控决策系统决策流,策略模式,权重、顺序、投票、最坏
后端
AI开源软件12 小时前
SpringBoot3+Vue3 财务管理系统如何设计:从业务单据到总账的模块划分
spring boot·vue3·领域建模·会计凭证·ruoyi office·业财协同·财务系统设计
Patrick_Wilson13 小时前
Go 为什么需要 defer?从函数怎么收尾说起
后端·go·编程语言
苏三说技术13 小时前
DeepSeek Harness入驻B站,评论区被干成了大型插件集市!
后端
橙序员小站13 小时前
我一句话让 AI 把公众号工作台搭完了:部署实测记录
后端