关于springboot配置详解

SpringBoot | 详解SpringBoot配置文件及其原理 因此AutoConfiguration配置类的作用就是不断的判断,最终决定这个配置类是否生效,如果生效的话,则给容器添加各种组件,这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性又是和配置文件绑定的//通过@EnableConfigurationProperties注解,和SpringBoot的配置文件进行了映射//只有一个有参构造器的情况下,参数的值就会从容器中拿@Bean。 阅读详情

spring boot有默认配置,但是一般情况下满足不了我们项目的需要,所以后续需要我们自定义配置

一、配置文件

配置文件,主要用于配置全局配置,包括server端口,数据库连接(可配多个),日志,spring的配置等

1、配置文件类型

配置文件严格区分大小写

1.1:application.properties

spring boot默认的配置文件类型,语法为一组键值对,这种类型的配置文件在需要修改大量spring boot默认配置时,不推荐(可以理解为配置越多,后续如果需要修改添加时,存在⼀定的冗余数据)

server.port=8080 
server.tomcat.url-encoding=UTF-8

1.2:application.yml

spring boot配置文件的另一种类型,类似 json 格式的 树形配置⽅式进⾏配置的,yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”英⽂ 冒号加空格的⽅式设置,并且空格不可省略。yml 通⽤性更好,⽀持更多语⾔,

server:
  port: 8080
  tomcat:
    uri-encoding: UTF-8

对象,Map,键值对的写法(k: v)

1.2.1:默认

server:
  port: 8080
  tomcat:
    uri-encoding: UTF-8

1.2.2:行内写法

server: {port: 8080,tomcat: {uri-encoding: UTF-8}}

数组(List、Set)的写法

1.3.1:默认

age:
    - 18
    - 19
    - 20

1.3.2:行内写法

age:[18,19,20]

值(value)的写法说明

1.4.1:默认

        默认value可以不加""或''

1.4.2:使用'value'

        单引号不处理转义字符,转义字符最终只是一个普通的字符串数据

1.4.3:使用"value"

        双引号处理转义字符

总结

理论上允许两个文件都存在,但是不建议

如果两个文件都存在,如果properties文件不存在某个配置,而yml中存在,则会引用yml中的文件,如果两个都存在,默认使用properties中的配置

2、读取配置文件

server:
  port: 8080
  tomcat:
    uri-encoding: UTF-8

2.1:使用 @Value 读取配置文件

@Data
@Component
public class Test{
    @Value(value = "${server.port}")
    public String port;
}

@RestController
@RequestMapping
public class TestController{
    @Autowired
    Test test;
    @GetMapping("/port")
    public String ports() {
        return test.getPort();
    }
}

2.2:使用 @ConfigurationProperties 读取配置文件

@Data
@Component
@ConfigurationProperties(prefix = "server")
public class Test{
    public String port;
}

@RestController
@RequestMapping
public class TestController{
    @Autowired
    Test test;
    @GetMapping("/port")
    public String ports() {
        return test.getPort();
    }
}

2.3:使用 Environment 读取配置文件

@RestController
@RequestMapping
public class TestController{
    @Resource
    private Environment enviroment;
    @GetMapping("/port")
    public String ports() {
        return enviroment.getProperty("server.port");
    }
}

2.4:使用 @PropertySource 读取配置文件

@Data
@Component
@PropertySource("classpath:application.yml")
public class Test{
    @Value(value = "${server.port}")
    public String port;
}

@RestController
@RequestMapping
public class TestController{
    @Autowired
    Test test;
    @GetMapping("/port")
    public String ports() {
        return test.getPort();
    }
}

2.5:使用原生方式读取配置文件

@Controller
@ResponseBody
public class TestController{

    @RequestMapping("/port")
    public void port() {
        Properties properties = new Properties();
        InputStreamReader inputStreamReader = new InputStreamReader(
            this.getClass().getClassLoader().getResourceAsStream("application.properties"),
                StandardCharsets.UTF_8
        );
        try {
            properties.load(inputStreamReader);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(properties.getProperty("server.port"));
    }
}

3、常用配置详细说明

3.1:server(嵌入式服务器配置(服务器属性))

server:
  port: 8081#自定义端口号
  servlet:
      context-path: /项目名#配置项目的访问路径

参考:SpringBoot 配置文件详解      SpringBoot配置文件讲解

Spring Boot(五):Spring Boot项目配置详解 一种是 bootstrap,另外一种是 application(ServletContext),bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。注意:这里的每一个都代表一个层级。 阅读详情

相关推荐

SpringBoot 配置详解

Spring Boot 是由 Pivotal 公司提供的一个开源框架,其目标是通过convention over configuration(约定优于配置)简化Spring应用的初始搭建过程,通过一个命令或者Maven插件就可以创建一个独立运行的、生产级别的基于Spring 的应用。Spring Boot 本身采用了自动配置功能,可以根据应用的 classpath 和其他配置参数,自动配置相应的 Spring Bean。

AI天才研究院 2424

springboot项目多环境配置及常见配置名的含义

我们在进行项目开发时,经常同一个应用需要在不同环境下开发、测试、使用,一般都是数据库地址、服务端口号不同。但是全都放在一个配置文件中显然不合适,此时就需要多环境配置了。

一个愚者,一个小人物,渴望见真 1149

linux服务器部署SpringBoot项目

可以看到我的版本是 Ubuntu 20.04.6 LTS。接下来在这个版本下安装SpringBoot运行环境。

Senye_ing的博客 982

【坑】【SpringBoot】指定服务项目名

application.properties文件添加。application.properties文件添加。pom.xml中使用SpringBoot版本。pom.xml中使用SpringBoot版本。SpringBoot版本。

m0_67391401的博客 1162

Halcon实战:5种边缘检测算子对比(Sobel、Roberts、Prewitt、Kirsch、Canny)

本文深入对比了Halcon中Sobel、Roberts、Prewitt、Kirsch和Canny五大边缘检测算子的实战表现与核心差异。通过工业图像实例与代码解析,提供了基于噪声水平、边缘连续性及实时性要求的场景化选型指南,帮助工程师精准选择最适合的算子以优化视觉检测流程。

weixin_29266007的博客 391

Amber实战:小分子配体MD模拟全流程避坑指南(附磷酸基团处理技巧)

本文提供了一份基于Amber软件进行小分子配体分子动力学模拟的实战避坑指南。详细解析了从晶体结构预处理、配体参数化(重点探讨AM1-BCC与RESP电荷选择)、复合物体系构建到模拟稳定性调试的全流程。特别针对磷酸基团等特殊官能团处理中常见的模拟崩溃问题,给出了系统性的诊断与解决方案,旨在帮助研究者获得稳定可靠的模拟结果。

weixin_29237635的博客 682

SpringBoot及其配置文件

一文理清SpringBoot及其配置文件!😄

小S的博客 1789

Changer: Feature Interaction Is What You Need forChange Detection

还有“交换“交互是一种完全不需要参数和计算的操作,它是通过交换空间或通道维度上的双时态特征映射来实现的,交换的特征在经过后续的卷积或令牌混合时进行混合。方法二:提出了两种简单的交互策略,AD和特征“交换”,大量的实验表明,它们可以极大地提高MetaChanger的性能,特别是特征“交换”,即使嵌入到复杂的网络中或应用于具有挑战性的数据集。在这里,我们用虚线勾勒本文的重点。这是变化检测任务的基本问题,双时相图像提供了同一地区在不同时间点的图像数据,通过对比这两个时间点的图像,我们可以检测出该地区的变化。

yokon的博客 1620

【Spring Boot】SpringBoot 配置文件详解

文章目录1. 配置文件的作用2. 配置文件的格式3. properties 配置文件说明3.1 properties 基本语法3.2 properties 配置缺点分析4. yml 配置文件说明4.1 yml 基本语法4.2 yml 配置简单的数据类型及 null4.3 yml 配置对象4.4 yml 配置 list 集合5. properties 和 yml 的总结6. Spring Boot 读取配置文件的方法6.1 使用 @Value 读取配置文件6.2 使用 @ConfigurationProper

吞吞吐吐大魔王的博客 6521

GPS数据处理必备:IGS精密星历下载与使用全攻略(附武汉大学/CDDIS/CODE/GFZ地址)

本文为GPS/GNSS数据处理者提供了IGS精密星历的完整下载与使用指南。详细解析了最终、快速、超快速三种精密星历产品的区别与选择策略,并手把手教学如何从武汉大学、CDDIS、CODE、GFZ四大主流数据中心高效获取数据,涵盖文件命名规则解析及自动化下载脚本,助力科研与工程应用。

weixin_29234239的博客 678

TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程

本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。

weixin_29094301的博客 411

【SpringBoot】Spring Boot配置优先级详解

通过上述规则和实例,可以灵活管理Spring Boot应用的配置,适应不同环境需求。具体配置方式需根据实际场景选择,如生产环境推荐使用外部配置文件或环境变量,开发环境可使用命令行参数快速调试。Spring Boot的配置优先级决定了不同配置源之间的覆盖关系,遵循。通过JVM参数设置,优先级仅次于命令行参数。若存在多个同名文件,按目录优先级加载。代码中设置的默认值,优先级最低。形式传递,直接覆盖其他配置。通过系统环境变量设置,例如。(JAR包外部的配置文件)(JAR包内部的配置文件)

2302_79600390的博客 2227

安卓设备安全相关技术

当前安卓设备使用的加密方案是基于Soc中一块可写入的rom实现,称为熔丝,其结果不可逆。 1、secureboot 2、AVB(Android Verify Boot) 3、dm-verity(device mapper) 4、keymaster 5、crypto 6、rpmb(replay private memory block) 7、TEE(Trust execute environment) 8、SELinux .........

weixin_43797328的博客 4837

Spring Boot 实战:SpringBoot配置详解

Spring Boot 的配置是通过或文件来完成的,这两个文件主要用于应用程序的外部化配置。

qq_33240556的博客 653

基于STM32+华为云设计的智慧农业灌溉系统(2023升级版)(158)

本项目设计一种基于STM32的智慧农业监测系统。该系统能够检测空气温度、湿度、光强度和土壤湿度等关键指标,并自动调节浇水量,实现作物生长环境的精细化管理。同时,本项目还支持本地LCD屏幕数据显示和通过ESP8266上传数据到华为云物联网平台,同时搭建流媒体服务器实现摄像头远程监控。最重要的是,本项目将利用Qt开发Android手机APP,使用户可以远程查看监测情况,了解农作物生成情况。

1万+

如何通过conda安装HyPhy教程

本文介绍了在Ubuntu系统上通过conda安装分子进化分析工具HyPhy的详细步骤。首先创建conda环境并指定Python 3.8版本,然后通过bioconda通道安装HyPhy软件包。安装完成后可通过conda list命令验证安装。文中还特别指出可能遇到的libcrypto.so.1.1共享库缺失错误,并提供了解决方案的参考链接。该教程配有安装过程截图,帮助用户直观了解操作流程和验证安装结果。

猿小白的博客 8259

springboot @value_Spring Boot 配置详解

springboot默认加载配置配置信息将配置映射到实体类加载外部配置文件springboot自动配置《Netty 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spring Boot 实现原理与源码解析 —— 精品合集》《数据库实体设计合集...

weixin_39744408的博客 195

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[springboot] Spring Boot配置文件详解

springboot采纳了建立生产就绪Spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性。 一、自定义属性 当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/reso...

Boone的博客 542

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

springboot 注解详解_Spring Boot详解(1)自动配置

Spring Boot详解(1)自动配置​mp.weixin.qq.comSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development...

weixin_39607474的博客 95

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SpringBoot系列之SpringBoot配置详解

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。YAML(YML)是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入。• 缩进时不允许使用Tab键,只允许使用空格(各个系统 Tab对应的空格数目可能不同,导致层次混乱)。

LP'S Blog 2276

Springboot的配置文件详解

Java中的复杂数据类型是指除了基本数据类型(如int、double、char等)之外的类型,它们可以存储更复杂的数据结构和对象。高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置。只要是左对齐的一列数据,都是同一个层级的。如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用。的配置文件,我们自己编写的配置文件,也不能自动识别;优先级由高到底,高优先级的配置会覆盖低优先级的配置;将配置文件中配置的每一个属性的值,映射到这个组件中。将本类中的所有属性和配置文件中相关的配置进行绑定;

秃头之旅 1041

【SpringBoot】— Spring Boot配置文件详解

Spring Boot配置文件详解Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件。他们的作用都是修改Spring Boot自动配置的默认值。相对于properties文件而言,yml文件更年轻,也有很多的坑。可谓成也萧何败也萧何,yml通过空格来确定层级关系,使配置文件结构更清晰,但也会因为微不足道的空格而破坏了层级关系。本章重点介绍yml的语法和从配置...

Graylf的博客 7402

【SpringBoot框架03】Spring Boot 配置

【SpringBoot框架03】Spring Boot 配置 思维导图 一、基本配置 (1)创建maven普通java项目,添加坐标依赖,导入相关插件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt

binflcy的博客 574

SpringBoot ——Spring Boot日志配置

Spring Boot 采用了 slf4j+logback 的组合形式,Spring Boot也提供对JUL、log4j2、Logback提供了默认配置 1、默认日志配置 修改日志默认级别 2、修改日志默认配置 修改日志文件生成路径 ​ ​ 修改日志输出格式 ​ 3、日志底层实现 在web项目中,引用了spring-boot-starter-web依赖,SpringBoot中默认日志启动器为spring-boot-starter-logging,默认采用的是logback日志.

qq_43842093的博客 956

SpringBoot配置文件详解

SpringBoot配置文件基础详解

qq_62274623的博客 2190

SpringBoot的配置文件详解

(表示的意思是一样,只是例1:在application.properties中设置服务器的端口号和web应用的上下文(项目的根路径)例2: application.yml设置服务器的端口号和web应用的上下文(项目的根路径)

m0_61925586的博客 2139
上一篇: 关于无法使用启动了启动spring项目的几种可能
下一篇: Java使用邮箱发送功能
终成败寇
博客等级 码龄7年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值