SpringBoot基础--02配置文件

【SpringBoot笔记02】SpringBoot框架配置文件介绍 SpringBoot框架中,提供了两种类型的配置文件,分别是:【properties】和【yml】,其中【yml】也可以写成【yaml】后缀格式,默认的配置文件名称是【application】,即:配置文件可以是下面两种类型:第一种类型:【application.properties】。 第二种类型:【application.yml】或者【application.yaml】(注意:其中yaml一般都会写成yml)。 阅读详情

SpringBoot3配置文件

统一配置管理概述

  • SpringBoot工程下,进行统一的配置管理,将所有想要设置的参数(端口号、项目根路径、数据库连接信息等)都集中在一个固定位置和命名的配置文件(application.properties或application.yml)中
  • 配置文件应该放置在Spring Boot工程的src/main/resources目录下,因为该目录是Spring Boot默认的类路径,配置文件会被自动加载并可供应用程序访问

属性配置文件使用

# 在resource文件夹下创建application.properties配置文件

# application.properties 为统一配置文件
# 内部包含: 固定功能的key,自定义的key
# 此处的配置信息,我们都可以在程序中@Value等注解读取

# 固定的key
# 启动端口号
server.port=80 

# 自定义
spring.jdbc.datasource.driverClassName=com.mysql.cj.jdbc.driver
spring.jdbc.datasource.url=jdbc:mysql:///springboot_01
spring.jdbc.datasource.username=username
spring.jdbc.datasource.password=password
// 读取配置文件

package com.atli.properties;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Data
@Component
public class DataSourceProperties {

    @Value("${spring.jdbc.datasource.driverClassName}")
    private String driverClassName;

    @Value("${spring.jdbc.datasource.url}")
    private String url;

    @Value("${spring.jdbc.datasource.username}")
    private String username;

    @Value("${spring.jdbc.datasource.password}")
    private String password;
}
// 在controller注入,进行测试
@Autowired
private DataSourceProperties dataSourceProperties ;

@RequestMapping(path = "/hello")
public String sayHello() {
  System.out.println(dataSourceProperties);
  return "Hello Spring Boot ! " ;
}

YAML配置文件使用

简介

  • YAML是一种基于层次结构的数据序列化格式,旨在提供一种易读、人类友好的数据表达方式
  • 层次结构
    • YAML文件使用缩进和冒号来表示层次结构,使得数据之间的关系更加清晰和直观。这样可以更容易理解和维护复杂的配置,特别适用于深层次嵌套的配置情况
  • 自我描述性
    • YAML文件具有自我描述性,字段和值之间使用冒号分隔,并使用缩进表示层级关系。这使得配置文件更易于阅读和理解,并且可以减少冗余的标点符号和引号
  • 注解支持
    • YAML格式支持注解,可以在配置文件中添加说明性的注解,使配置更具可读性和可维护性。相比之下.properties文件需要使用转义符或将长文本拆分为多行
  • 类型支持
    • YAML格式天然支持复杂的数据类型如列表映射等,这使得在配置文件中表示嵌套结构或数据集合更加容易,而不需要进行额外的解析或转换
  • 更好的可读性
    • 由于YAML格式的特点,它更容易被人类读懂和解释。它减少了配置文件中需要的特殊字符和语法,让配置更加清晰明了,从而减少了错误和歧义
  • 综上,YAML格式对于.properties文件具有更好的层次结构表示、自我描述性、注释支持、多行文本表示、复杂数据类型支持和更好的可读性。这些特点使YAML成为一种有力的配置文件格式,尤其适用于复杂的配置需求和人类可读的场景。然而,选择使用YAML还是.properties取决于实际需求和团队的偏好,简单的配置可以使用.properties,而复杂的配置可以选择YAML以获得更多的灵活性和可读性

语法说明

  • 数据结构用树形结构呈现,通过缩进来表示层级
  • 连续的项目(集合)通过减号来表示
  • 键值结构里面的key/value对用冒号来分隔
  • YAML配置文件的扩展名是yaml或yml
# YAML配置文件示例
app_name: 我的应用程序
version: 1.0.0
author: 张三

database:
  host: localhost
  port: 5432
  username: username
  password: password

features:
  - 登录
  - 注册
  - 仪表盘

settings:
  analytics: true
  theme: dark

spring:
  jdbc:
    datasource:
      driverClassName: com.mysql.jdbc.Driver
      url: jdbc:mysql:///springboot_02
      username: username
      password: password
      
server:
  port: 80
// 读取方式和properties一致

package com.atguigu.properties;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
@Data
public class DataSourceProperties {

    @Value("${spring.jdbc.datasource.driverClassName}")
    private String driverClassName;

    @Value("${spring.jdbc.datasource.url}")
    private String url;

    @Value("${spring.jdbc.datasource.username}")
    private String username;

    @Value("${spring.jdbc.datasource.password}")
    private String password;
}
// 在controller注入,输出进行测试
@Autowired
private DataSourceProperties dataSourceProperties ;

@RequestMapping(path = "/hello")
public String sayHello() {
  System.out.println(dataSourceProperties);
  return "Hello Spring Boot ! " ;
}

批量配置文件注入

@ConfigurationProperties是SpringBoot提供的重要注解,他可以将一些配置属性批量注入到bean对象

  • 创建类,添加属性和注解
  • 在类上通过ConfigurationProperties注解声明该类要读取配置属性
  • prefix="spring.jdbc.datasource"读取属性文件中前缀为spring.jdbc.datasource的值。前缀和属性名称和配置文件中的key必须要保持一致才可以注入成功
package com.atguigu.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@Data
@ConfigurationProperties(prefix = "spring.jdbc.datasource")
public class DataSourceConfigurationProperties {

    private String driverClassName;
    private String url;
    private String username;
    private String password;
}
@RestController
public class HelloController {

    @Autowired
    private DataSourceProperties dataSourceProperties;

    @Autowired
    private DataSourceConfigurationProperties dataSourceConfigurationProperties;

    @GetMapping("/hello")
    public String hello(){
        System.out.println("dataSourceProperties = " + dataSourceProperties);
        System.out.println("dataSourceConfigurationProperties = " + dataSourceConfigurationProperties);
        return "Hello,Spring Boot 3!";
    }
}

多环境配置和使用

在Spring Boot中,可以使用多环境配置来根据不同的运行环境(如开发、生产、测试)加载不同的配置。SpringBoot支持多环境配置让应用程序在不同的环境中使用不同的配置参数,列如数据库连接信息、日志级别、缓存配置等

实现SpringBoot多环境配置的常见方法

  • 属性文件分离:
    • 将应用程序的配置参数分离到不同的属性文件中,每个环境对应一个属性文件。
    • 列如:可以创建application-dev.properties、application-prod.properties和application-test.properties等文件。在这些文件中,可以定义各自环境的配置参数,如数据库连接信息、端口等。然后再application.properties中通过spring.profiles.active属性指定当前使用的环境。Spring Boot会根据该属性来加载对应环境的属性文件,覆盖默认配置
  • YAML配置文件
    • 与属性文件类似,可以将配置参数分离到不同的YAML文件中,每个环境对应一个文件。
    • 列如,可以创建application-dev.yml 、application-prod.yml和application-test.yml等文件。在这些文件中,可以使用YAML语法定义各种环境的配置参数。同样通过spring.profiles.active属性指定当前的环境,Spring Boot会加载相应的YAML文件
  • 命令行参数(动态)
    • 可以通过命令行参数来指定当前的环境
    • 列如:可以使用spring.profiles.active=dev来指定使用开发环境的配置
  • 通过上述方法,SpringBoot会根据当前指定的环境来加载相应的配置文件或参数,从而实现多环境配置。这样可以简化在不同环境之间的配置切换,并且确保应用程序在不同环境中具有正确的配置
# application-dev.yml(开发环境)
spring:
  jdbc:
    datasource:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql:///dev
      username: username
      password: password
# application-test.yml(测试环境)
spring:
  jdbc:
    datasource:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql:///test
      username: username
      password: password
# application-prod.yml(生产环境)
spring:
  jdbc:
    datasource:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql:///prod
      username: username
      password: password
# 环境激活
spring:
  profiles:
    active: dev

若设置了spring.profiles.active并且和application有重叠属性,以active设置优先
如果设置了spring.profiles.active和application无重叠属性,application设置依然有效

PLC编程进阶:结构体(UDT)与功能块(FB)的模块化实践指南 本文深入探讨了PLC编程中实现模块化的核心方法,重点解析了结构体(UDT)与功能块(FB)的协同应用。通过将零散数据封装为UDT,并将控制逻辑打包为可复用的FB,能够构建出结构清晰、易于维护和调试的PLC程序。文章结合拧紧枪、电机控制等实战案例,提供了从设计原则到分层架构的完整实践指南,旨在帮助工程师将混乱的‘面条式’代码改造为高效的‘正规军’。 阅读详情

相关推荐

Unity游戏开发客户端Lua基础

Unity游戏开发客户端面经之 lua 篇

Sea3752的博客 1万+

Spring配置文件的详细介绍

Spring配置文件的详细解释,set注入,构造注入,bean标签详细解读

weixin_44362089的博客 8943

World Creator地形导入UE

导出预设选择高度图(heigh map)格式选择PNG 16位,或者RAW 16位,需要反转y轴(与虚幻不同),命名格式会自动带一个× , 将×改成_ 或者删掉自己命名 (虚幻名称不支持x符号)导入虚幻 , 修改Z轴 , 就是用 地形最高 - 地形最低 , 然后除以512 , 再乘以100。把这个数字填入Z轴缩放 , 点击生成即可。

UE星空 2154

Spring配置文件详解 - applicationContext.xml文件路径

spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码 org.springframework.web.context.ContextLoaderListener spring就会被自动加载 但在实际的开发过程中,我们可能需要调整applicationContext.xml的位置,以使程序结构更加的清晰。在web

qjbagu的专栏 2202

ADS2020与SystemVue2020Update1.0同机安装避坑指南:解决License冲突,实现EVM联合仿真

本文详细介绍了ADS2020与SystemVue2020 Update1.0同机安装的完整解决方案,重点解决License冲突问题,实现EVM联合仿真。通过合理的安装顺序、路径规划和License服务配置,确保两款EDA工具和谐共存,为射频与微波电路设计提供高效仿真环境。

weixin_30271335的博客 347

大疆 DJI Mobile SDK实战指南——从零构建Android示例开发环境

本文提供了一份详尽的DJI Mobile SDK Android开发环境搭建实战指南。文章手把手教你从注册开发者账号、获取App Key,到配置Android Studio、下载官方示例代码,最终成功运行DJI官方Android示例程序,帮助开发者快速入门无人机应用开发,避开常见编译与依赖问题。

weixin_29188043的博客 273

springboot基本使用二(resources目录简单介绍)

再次访问:location:8099/index.html。两个静态资源目录中有相同的文件,那么static的文件权限高于public的文件权限。那要如何访问static和public下的index.html文件呢?一般情况下我们的静态资源都是放在静态目录下,有哪些静态资源目录呢?springboot 配置文件application.properties和application.yml-优快云博客。application.properties:配置文件。我个人使用的是application.yml文件。

weixin_41670405的博客 1568

windchill安装搭建(保姆式)

保姆式搭建windchill 材料准备 Vmware工具,用来创建和打开虚拟机的工具 安装系统的镜像文件 数据库安装文件,这里是Oracle数据库 Windchill的安装包 Vmware工具,用来安装和打开虚拟机的软件 Windowsserver2008的镜像工具,用来安装虚拟机环境的系统,如果你有win2007或win2010的也可以,在做虚拟机时,需要先安装系统。 Oracle数据库安装包 Windchill11M030的安装包 (安装包如有需要可以私信邮箱发送) 虚拟机安装 安装虚拟机VMware

tr1294937662的博客 6217

springboot---配置文件

Springboot中配置文件配置大全 转载于:https://blog.youkuaiyun.com/zhuzhezhuzhe1/article/details/80560306 配置 ############################################################# # mvc ############################################################# spring.mvc.async.request-timeout=

lipviolet的博客 7601

STM32G474开发板初步入门与编程实战

STM32G474开发板提供了一种快速评估、原型设计和开发STM32G474应用的方式。它搭载了STM32G474RET6微控制器,配备512KB闪存、128KB RAM,支持各种常见的接口和连接,如USB、I2C、SPI、UART等。板载ST-Link/V2-1调试器/编程器,简化了开发过程。

qq_38334677的博客 4953

选型不再靠感觉:一文看懂 SAP Event Mesh 与 SAP Integration Suite, advanced event mesh 的能力边界

本文对比分析了SAP Event Mesh与SAP Integration Suite, advanced event mesh的差异。SAP Event Mesh适合轻量级场景,主要用于SAP系统间异步通信,支持AMQP、MQTT等协议,消息大小限制为1MB。而advanced event mesh面向企业级事件网络,提供跨云/本地部署、事件治理、监控等高级功能,支持30MB消息和更大存储容量。选择时需考虑业务规模、实时性要求、治理需求等因素:单一SAP生态内扩展可选Event Mesh;跨区域、多云环境

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 133

02 SpringBoot配置文件之统一配置管理文件+yaml配置属性注入的三种方式+多配置文件组织+多环境配置文件的配置

SpringBoot工程下,进行统一的配置管理,你想设置的任何参数(端口号、项目根路径、数据库连接信息等等)都集中到一个固定位置和命名的配置文件(或)中!配置文件应该放置在SpringBoot工程的目录下。这是因为目录是SpringBoot默认的类路径(classpath),配置文件会被自动加载并可供应用程序访问。大部分参数都有默认值 , 不想修改可以不建application.properties/yml。

m0_46671240的博客 1732

深入理解Android音视频同步机制(三)NuPlayer的avsync逻辑

本文深入介绍了NuPlayer的avsync逻辑和原理

张晖的专栏 1万+

《Spring Boot实战指南》02-02:配置文件属性值的注入

--

西安极客联盟 1341

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringBoot资料合集-02【Spring Boot的配置文件和自动配置原理】

1、IDEA:使用 Spring Initializer快速创建项目 IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目; 选择我们需要的模块;向导会联网创建Spring Boot项目; 默认生成的Spring Boot项目;如果SpringApplication默认设置不符合您的喜好,则可以创建一个本地实例并对其进行自定义。例如,要关闭横幅,您可 以编写: 通过构造者模式流式构造SpringApplication: 3.配置文件的使用 3.1 配置文件介绍 SpringBoo

m0_70893079的博客 283

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring Boot 02 配置文件

目录1、配置文件2、yml2-1 yml简介2-2 yml语法2-2-1 基本语法2-2-2 不同数据格式的表示方式(1)普通数据值(数字,字符串,布尔)(2)对象、Map(属性:值、键:值)(3)数组、Set2-2-3 yml格式练习3、两种获取配置文件信息的方式3-1 @ConfigurationProperties注解3-2 @Value注解3-3 两种注入方式对比3-4 @Value注入复杂封装类型4、@PropertySource和@ImportResource4-1 @PropertySourc

A1924的博客 375

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

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

02.Spring Boot 之配置文件

1. 配置文件 SpringBoot 使用全局的配置文件,配置文件名是固定的:application.properties 或者 application.yml 这两个配置文件可以同时存在,如果配置相同的属性,properties 会覆盖 yml 2. yml 语法 2.1 基本语法 k: v:表示一对键值对,注意 value 前面必须要有空格 以空格的缩进来控制层级关系;只要...

masteryourself 250

spring boot入门指南-02配置文件

文章目录1. 如何获取配置文件中的值1. 配置文件格式2. 配置文件设置3. 实体类4. 测试 1. 如何获取配置文件中的值 1. 配置文件格式 SpringBoot使用一个全局的配置文件,配置文件名是固定的,可以由以下两种形式; application.properties application.yml 通常会在配置文件中设置一些值,spring boot中的bean是如何获得到该值得呢? ...

大黄奔跑 191

02springboot配置文件

1、配置文件加载位置 springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –classpath:/config/ –classpath:/ 优先级由高到底,高优先级的配置会覆盖低优先级的配置; SpringBoot会从这四个位置全部加载主配置文件;互补配置; 每个文件的位置如上所示,各配置文件加载的优先级也得到验证 我们还可以通过spring.

qq_44835120的博客 163

02Spring Boot配置文件详解

02Spring Boot配置文件详解 文章指导 学习笔记 学习代码 自定义属性 在src/main/java/resources目录下创建一个application.properties或application.yml 在application.yml自定义一组属性 my: name: boot age: 12 读取配置文件的值只需要加@Value("${属性名}") ...

337

【SpringBoot3.x教程02】SpringBoot配置文件详解

SpringBoot配置文件的多样性

升仔聊编程的博客 2077

Spring boot之配置文件yaml详解02

Spring boot之配置文件yaml详解02 SpringBoot使用一个全局的配置文件,配置文件名是固定的; •application.properties •application.yml 配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好; YAML(YAML Ain't Markup Language) ​ YAML A Markup Language:是一个标记语言 ​ YAML isn't Markup Langu..

helloworld工程师的博客 436

【Spring Boot系列学习】02.Spring Boot配置文件

目录 一、application.properties 1.自定义属性 1.1简单属性 1.2实体属性 1.3参数间引用 1.4随机值配置 1.5自定义配置文件 2.常用属性 2.1多环境配置profile 二.application.yml 1.yaml语法 2.格式 3.支持的值 4.其他 三.其他 1.添加组件:添加组件的方式有两种 2.存放路径及优先...

剑翊乾坤 2254

02SpringBoot配置文件详解

1.1配置文件简介 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。 SpringBoot默认从Resource目录加载自定义配置文件。application.properties是键值对类型(一直在用)。application.yml是SpringBoot中一种新的配置文件方式。 默认配置文件名称:applicat

技术改变世界 908

SpringBoot02_配置文件

本篇文章介绍SpringBoot项目的配置文件相关内容 IDE:IntelliJ IDEA 2019.3.3 Java:jdk1.8 Spring Boot:2.3.5.RELEASE 一、application配置文件 在SpringBoot快速构建文章中,我们仅仅导入了一个web starter依赖便能够运行整个web工程。原因是starter启动器已经帮我们配置好了所有所需的最少配置项,我们只需要关注业务代码的编写即可。 **但在一些场合下,SpringBoot的默认配置无法满足业务的使用需求,开.

Mr_Xu12308的博客 403

SpringBoot-02-配置文件

配置文件YAML(YAML Ain't Markup Language)0.语言特性1.基本语法2.值的写法字面量:普通的值(数字,字符串,布尔)对象、Map(属性和值)(键值对):数组(List、Set):配置文件值注入1.@ConfigurationProperties2.@Value3.@ConfigurationProperties对比@Value SpringBoot使用一个全局的配置文件,配置文件名是固定的; application.properties application.yml 配置

Kevin Wang的博客 156
上一篇: SpringBoot基础--01快速入门
下一篇: SpringBoot基础--03日志
sisyphoslee
博客等级 码龄7年 942粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值