当前位置: 首页 > news >正文

Java课题笔记~ SpringBoot基础配置

二、基础配置

1. 配置文件格式

问题导入

框架常见的配置文件有哪几种形式?

1.1 修改服务器端口

http://localhost:8080/books/1 >>> http://localhost/books/1

SpringBoot提供了多种属性配置方式

  • application.properties

server.port=80

application.yml

server:port: 81

application.yaml

server:port: 82

1.2 自动提示功能消失解决方案

操作步骤:

 

 

 

1.3 SpringBoot配置文件加载顺序(了解)

  • application.properties > application.yml > application.yaml

注意事项:

  1. SpringBoot核心配置文件名为application

  2. SpringBoot内置属性过多,且所有属性集中在一起修改,在使用时,通过提示键+关键字修改属性

2. yaml

问题导入

什么是yaml,和properties有什么区别?

  • YAML(YAML Ain't Markup Language),一种数据序列化格式

  • 优点:

    • 容易阅读

    • 容易与脚本语言交互

    • 以数据为核心,重数据轻格式

  • YAML文件扩展名

    • .yml(主流)

    • .yaml

2.1 yaml语法规则

  • 大小写敏感

  • 属性层级关系使用多行描述,每行结尾使用冒号结束

  • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)

  • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)

  • #表示注释

  • 核心规则:数据前面要加空格与冒号隔开

2.2 yaml数组数据

  • 数组数据在数据书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔

2.3 yaml数据读取

  • 使用@Value读取单个数据,属性名引用方式:${一级属性名.二级属性名……}

 封装全部数据到Environment对象

==自定义对象封装指定数据【常用】==

public class Enterprise {private String name;private Integer age;private String tel;private String[] subject;//自行添加getter、setter、toString()等方法
}

 自定义对象封装数据警告解决方案

 

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional>
</dependency>

3. 多环境开发配置

问题导入

在实际开发中,项目的开发环境、测试环境、生产环境的配置信息是否会一致?如何快速切换?

3.1 多环境启动配置

  • yaml文件多环境启动

 

 

 

3.2 多环境启动命令格式

 

 

3.3 多环境开发控制

Maven与SpringBoot多环境兼容(步骤)

①:Maven中设置多环境属性

<profiles><profile><id>dev_env</id><properties><profile.active>dev</profile.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>pro_env</id><properties><profile.active>pro</profile.active></properties></profile><profile><id>test_env</id><properties><profile.active>test</profile.active></properties></profile>
</profiles>

②:SpringBoot中引用Maven属性

 

③:执行Maven打包指令

  • Maven指令执行完毕后,生成了对应的包,其中类参与编译,但是配置文件并没有编译,而是复制到包中

  • 解决思路:对于源码中非java类的操作要求加载Maven对应的属性,解析${}占位符

④:对资源文件开启对默认占位符的解析

<build><plugins><plugin><artifactId>maven-resources-plugin</artifactId><configuration><encoding>utf-8</encoding><useDefaultDelimiters>true</useDefaultDelimiters></configuration></plugin></plugins>
</build>

Maven打包加载到属性,打包顺利通过

 

4. 配置文件分类

问题导入

SpringBoot的配置文件可以放在项目的哪些地方?

java –jar springboot.jar --spring.profiles.active=test --server.port=85 --server.servlet.context-path=/heima --server.tomcat.connection-timeout=-1 ... ...

 

  • SpringBoot中4级配置文件

    1级: file :config/application.yml 【最高】

    2级: file :application.yml

    3级:classpath:config/application.yml

    4级:classpath:application.yml 【最低】

  • 作用:

    1级与2级留做系统打包后设置通用属性

    3级与4级用于系统开发阶段设置通用属性

http://www.lryc.cn/news/129531.html

相关文章:

  • vue实现文件上传,前后端
  • OJ练习第151题——克隆图
  • keepalived+lvs实现高可用
  • 【Let‘s make it big】英语合集61~70
  • python实现图像的二分类
  • 8.深浅拷贝和异常处理
  • Element Plus el-table 数据为空时自定义内容【默认为 No Data】
  • 使用nginx和frp实现高效内网穿透:简单配置,畅通无阻
  • Python土力学与基础工程计算.PDF-螺旋板载荷试验
  • 低代码开发ERP:精打细算,聚焦核心投入
  • 顺序表(数据结构)
  • stable_diffusion_webui docker环境配置
  • 【Java】常见面试题:HTTP/HTTPS、Servlet、Cookie、Linux和JVM
  • 批量爬虫采集完成任务
  • intelij idea 2023 创建java web项目
  • 【论文笔记】基于指令回译的语言模型自对齐-MetaAI
  • MySQL和MariaDB的版本对应关系
  • Python数据的输入与输出
  • 生成国密密钥对
  • ASR(自动语音识别)任务中的LLM(大语言模型)
  • 简单介绍一下centos上有什么工具可以优雅的管理开机启动项
  • 万宾燃气管网监测解决方案,守护城市生命线安全
  • Django框架 靓号管理(增删改查)
  • 责任链模式简单实现
  • Excel自动化办公——Openpyxl的基本使用
  • 解决Fastjson2 oom(Out Of Memory),支持大对象(LargeObject 1G)json操作
  • SpringBoot + redis处理购物车逻辑
  • open cv学习 (五) 图像的阈值处理
  • NVIDIA vGPU License许可服务器高可用全套部署秘籍
  • 基于CNN卷积神经网络的口罩检测识别系统matlab仿真