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设置依然有效

基于深度学习的茶叶等级检测识别系统:YOLOv8 + UI界面 + 数据集完整实现 随着深度学习技术的不断进步,基于计算机视觉的茶叶等级检测系统可以大大提高检测效率,提供客观一致的评估标准。本系统将利用YOLOv8进行茶叶等级的检测与识别,通过图形用户界面(UI)实现与用户的交互,提供茶叶等级分类的实时反馈。本文将详细介绍如何使用YOLOv8结合UI界面,建立一个完整的茶叶等级检测与识别系统,包括数据集的准备、模型的训练、UI的设计及完整的代码实现。本系统的目标是通过深度学习技术,结合YOLOv8模型和图形用户界面(UI),实现对茶叶等级的自动化检测与识别。 阅读详情

相关推荐

2026 最新实战教程:AI 重构开发全流程(从需求→上线→运维)

1)做什么系统2)技术栈3)功能模块4)部署要求plaintext我要做一个:待办事项(Todo)全栈应用技术栈:前端:React + TypeScript + Tailwind后端:Node.js + Express + MongoDB部署:Docker + 本地运行(后续可上云)功能:- 增删改查任务- 任务状态切换(完成/未完成)- 简单错误处理请按企业级标准生成:架构设计 + 全部代码 + 接口文档 + 启动命令。

qq_35779316的博客 1686

Spring配置文件的详细介绍

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

weixin_44362089的博客 8943

ET篇:Google.Protobuf的学习(理解基本的使用流程)

据我目前所知,ET使用的数据交换协议是Google.Protobuf,所以今天就来学习一下,但是网上许多人都是以高下立判的方式讲解的,对新手小白很不友好,所以我今天就以纯小白的视角和大家一起学习 学习环境: .NET Core2.2 .NET Framework 4.7.2 Rider protobuf-csharp-3.7.0-rc-2 Google.Protobuf简介 prot...

设计师养成记 3563

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

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

qjbagu的专栏 2202

企业级 Agent 在 K8s 上的运行模型

Kubernetes├── Agent Orchestrator(控制面)├── Agent Runtime Pods(执行面)├── Graph DSL(流程层)├── Tool Services(能力层)K8s(调度)+ Graph(流程)+ Agent(决策)+ Tool(执行)+ Guard(治理)

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 1172

电商项目功能简述

1.电商行业的技术特点 1.技术性 2.技术范围广 3.分布式 4.高并发,集群,负载均衡,高可用 5.海量数据 6.业务复杂 7.系统安全 2.电商行业的模式 B2B:企业到企业,商家到商家.代表:阿里巴巴 B2C:商家到客户.代表:京东.淘宝商城 C2C:客户到客户.淘宝集市 O2O:线上到线下 3.B2C电商系统架构功能模块 4.B2C电商系统架构功能描述 后台管理系统:管理商品、订单、类...

weixin_45116848的博客 9744

springboot---配置文件

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

lipviolet的博客 7601

使用C++编写一个可视化窗口

初学C++时,控制台会给我们提供一个黑窗口,而这篇文章所做的就是:创建一个属于图形界面窗口,而不是使用控制台黑窗口 如图,这是一个标题为XSZY的窗口 看完这篇文章,你想要的窗口大小,图标等都可以自己定义 甚至是在窗口上鼠标的样子,都是可以随意改的 所有有关视窗的基本函数和类型都定义在头文件 <windows.h> 中 我们只需要引用就好了 //引用头文件 windows.h #include<windows.h> 然后定义程序的入口函数main int __stdcall W

XSZY_的博客 6万+

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

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

weixin_41670405的博客 1568

RK3588开发笔记-MIPI-CSI接口视频解码芯片XS9922B调试

Rockchip RK3588 是一款高性能的处理器,支持多种摄像头接口,包括 MIPI(Mobile Industry Processor Interface)接口。MIPI是一种用于移动设备和嵌入式系统中的摄像头、显示器和其他传感器设备的串行接口标准。MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准。CSI-2(Camera Serial Interface 2)是MIPI 联盟定义的另一种高速接口,主要用于摄像模组和处理器之间的连接。

flypig has a dream! 6860

Orin 10G PHY网络分析

由于调试用的10G PHY,所以整理下分析过程; 1.从Orin devkit 丝印来看RJ45 对应J17 通过搜索 MGBE_PHY_A_N 找到连接的10G PHY, 原理图上标明了MDIO address 为0x0, 使用的PHY 芯片为 Marvel 的AQR113C, 主要特性: 架构: 关键特征: MDC 连接了GPIO26_XFI0_MDC; MDIO 连接了GPIO25_XFI0_MDIO; 通过pinmux_config映射表也可以..

乐于分享 5653

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

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

m0_46671240的博客 1732

javascript 酷炫时钟

javascript 酷炫时钟

liuhao9999的博客 631

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

--

西安极客联盟 1341

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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、付费专栏及课程。

余额充值