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

SpringBoot配置

1. SpringBoot配置文件

 SpringBoot配置文件一共有三种

  • spplication.properties
  • application.yml(用的最多)
  • application.yaml

        用的最多的是yml文件,yml版本更加结构化且易于阅读维护。这就是Spring Boot推荐使用yml作为配置文件格式的主要原因。

第一种方式:spplication.properties


# 启动端口号
server.port=8080

第二种方式:application.yml

server:port: 8081

第三种方式:application.yaml

        但是创建yaml文件后出现了问题,原因是在读取的时候,无法被看成是SpringBoot框架的配置文件,所以需要进行配置,步骤如下:

        一系列操作下来就ok了~

2. 配置文件加载顺序

        spplication.properties application.yml > application.yaml

3. yaml语法

YAML(YAML Ain't Markup Language)是一种人性化的数据序列化标准:

  • 以数据为中心,比JSON/XML更适合配置文件

  • 使用缩进表示层级关系

  • 大小写敏感

  • 支持注释

server:port: 8080servlet:context-path: /api

缩进规则

  • 使用空格缩进(建议2个空格,不要用Tab)

  • 同级元素左对齐

  • 缩进数量表示层级

4.数据类型表示

1. 字面量(标量)

string: "Hello"  # 字符串
number: 123      # 数字
float: 3.14      # 浮点数
boolean: true    # 布尔值
null: ~          # null
date: 2023-08-15 # 日期

2. 数组/列表

使用-表示数组项:

fruits:- Apple- Banana- Orange

行内写法:

fruits: [Apple, Banana, Orange]

3. 对象/Map

person:name: Johnage: 30address:city: New Yorkzip: 10001

5. yml数据读取

        yml数据读取有两种常见的方法:

  • @Value注解方式注入

  • @ConfigurationProperties方式注入

5.1 @Value注解方式注入

@Component
public class MyComponent {@Value("${server.port}")private int serverPort;@Value("${spring.application.name}")private String appName;
}

特点分析

优点

  • 简单直接,适合单个属性的注入
  • 支持SpEL表达式

  • 可以用于方法参数注入

缺点

  • 大量使用时代码会显得杂乱
  • 类型转换需要额外处理
  • 不支持复杂对象结构的绑定

适用场景

  • 注入少量简单配置值
  • 需要快速原型开发时
  • 需要SpEL表达式支持时

5.2 @ConfigurationProperties方式注入

  • yml配置
# application.yml
myapp:config:name: "订单服务"version: "1.0.0"servers:- "192.168.1.1"- "192.168.1.2"timeout: 5000enabled: true
  • java
@Configuration
@ConfigurationProperties(prefix = "myapp.config")
public class AppConfig {private String name;private String version;private List<String> servers;private int timeout;private boolean enabled;// 必须提供setter方法public void setName(String name) { this.name = name; }// 其他setter...
}

优点: 

    • 类型安全,减少运行时错误
    • 支持复杂嵌套结构的绑定
    • 自动完成类型转换
    • 可以与IDE的元数据支持配合,提供代码提示
    • 支持验证注解如@Validated

    缺点

    • 需要创建配置类
    • 需要为每个属性提供setter方法

    6. 多环境配置

            多环境配置是指应用程序在不同环境(开发、测试、生产等)中使用不同配置的能力。Spring Boot提供了灵活的多环境支持机制。

            在yml配置文件进行配置如下:

    # 公共配置
    spring:application:name: my-app---
    # 开发环境
    spring:profiles: dev
    server:port: 8080---
    # 生产环境
    spring:profiles: prod
    server:port: 80

    7. SpringBoot项目jar包启动

    7.1 导入打包插件

    
    <!--    jar包打包运行的插件   --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

    7.2 编译打包

    http://www.xdnf.cn/news/13034.html

    相关文章:

  1. 【如何做好技术架构】
  2. 大模型真的像人一样“思考”和“理解”吗?​
  3. Python编程基础(五) | 字典
  4. 深度伪造视频时代的“火眼金睛”:用Python打造假视频识别神器
  5. 循环语句之for
  6. Latex vscode安装、配置与使用-Windows
  7. 文件上传漏洞防御全攻略
  8. 从零手写Java版本的LSM Tree (六):WAL 写前日志
  9. Chrome二级标签无法选中的解决方案
  10. LMKD(Low Memory Killer Daemon)原理初识
  11. Linux与量子计算:面向未来的架构演进
  12. 在 Spring Boot 项目里,MYSQL中json类型字段使用
  13. 快速解决 AJ-Captcha 自定义水印和底图问题
  14. day36-多路IO复用
  15. 前端Vue框架页面自适应问题:挑战与系统化解决方案
  16. RetiZero
  17. Kafka入门-Broker以及文件存储机制
  18. 进程地址空间(比特课总结)
  19. AI人工智能与LLM语言大模型
  20. 从落水到快速救援:北斗如何打通生命通道
  21. Cursor+MCP编程工具助力开发效率倍增
  22. 魔兽世界正式服插件与宏-敏锐盗贼实用宏探索(2)-起手奥义【突】之见龙在田
  23. Bigemap 赋能地质灾害应急预警系统:精准监测与智能响应
  24. Vue3+Pinia+TS笔记
  25. 网关对请求解密响应加密
  26. 背包问题双雄:01 背包与完全背包详解(Java 实现)
  27. Java网络编程中IP详解
  28. Django、Flask、FastAPI与Jupyter对比
  29. 【RAG排序】rag排序代码示例-高级版
  30. 十、MySQL InnoDB引擎底层解析