springboot 在xml里读取yml的配置信息的示例代码

首先需要配置pom.xml文件,添加Spring Boot和YAML的依赖。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.25</version>
</dependency>

接下来,在Spring Boot的启动类中添加注解和主方法。

@SpringBootApplication
public class MainApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        // 配置文件路径
        String path = "classpath:application.yml";

        // 加载配置文件
        Yaml yaml = new Yaml(new Constructor(Properties.class));
        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(path);
        Properties properties = yaml.load(inputStream);
        System.out.println(properties.toString());
    }
}

在这段代码中,我们首先定义了配置文件的路径,使用YAML类加载配置文件,将其转换成Properties对象,最后打印出来。

假设配置文件内容如下:

server:
  port: 8080
database:
  url: jdbc:mysql://localhost:3306/test
  username: root
  password: 123456

这时候运行程序,将会看到以下输出:

{server.port=8080, database.password=123456, database.username=root, database.url=jdbc:mysql://localhost:3306/test}

我们也可以获取单独的配置项:

String port = properties.getProperty("server.port");
String url = properties.getProperty("database.url");

这时候输出的结果为:

8080
jdbc:mysql://localhost:3306/test

至此,我们成功在XML中读取了YAML格式的配置文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 在xml里读取yml的配置信息的示例代码 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 如何在Python中提取与fft值相关的频率

    要在Python中提取与FFT值相关的频率,需要借助NumPy和SciPy这两个常用的科学计算库。 下面是详细的步骤和示例说明: 步骤一:生成信号数据 首先我们需要生成一个信号数据,作为后续FFT分析的输入。可以使用NumPy库中的fft模块中提供的fftfreq方法来生成一个符合条件的信号数据。 import numpy as np # 生成一个长度为 N…

    python-answer 2023年3月25日
    00
  • python学生管理系统代码实现

    下面我将为大家详细讲解 “Python学生管理系统代码实现”的完整攻略。 一、需求分析 首先,我们要明确学生管理系统需要实现的功能,一般包括以下几个方面: 学生信息录入; 学生查询,包括按姓名、学号、班级等条件查询; 学生信息修改; 学生信息删除。 二、代码实现 经过需求分析,我们可以开始尝试编写学生管理系统的代码了。下面是具体的代码实现步骤: 1. 创建学…

    python 2023年5月19日
    00
  • Python基于百度AI实现抓取表情包

    Python基于百度AI实现抓取表情包是一个非常有用的应用场景,可以帮助我们在Python中快速抓取表情包。本攻略将介绍Python基于百度AI实现抓取表情包的完整攻略,包括数据获取、数据处理、数据存储和示例。 步骤1:获取数据 在Python中,我们可以使用requests库获取网页数据。以下是表情包页面数据的示例: import requests url…

    python 2023年5月15日
    00
  • python实现PDF中表格转化为Excel的方法

    以下是详细讲解如何用Python将PDF中的表格转换为Excel的完整实例教程。 教程概述 本教程将介绍如何使用Python和一些相关的库,将PDF中的表格转换为Excel文件。主要使用了以下库: tabula-py:用于提取PDF中的表格数据。 pandas:用于将提取的表格数据转换为Excel文件。 步骤说明 在开始这个实例之前,请确保你已经按照以下步骤…

    python 2023年5月14日
    00
  • python实现马耳可夫链算法实例分析

    首先,我们需要了解马尔可夫链算法: 马尔可夫链是一种随机过程,表现为在一系列状态之间进行随机转移。在马尔可夫链中,下一次状态只与当前状态有关,不受之前历史状态的影响。马尔可夫链被广泛应用于自然语言处理、信号处理、图像处理、金融市场、天气预测等领域。 在Python中实现马尔可夫链算法的主要步骤如下: 1.收集数据并预处理:收集需要构建马尔可夫链的数据,并进行…

    python 2023年6月3日
    00
  • Python实现复制文档数据

    Python实现复制文档数据 在Python中,我们可以使用多种方法来复制文档数据。本文将介绍两种常用的方法,并提供两个示例。 方法一:使用shutil库复制文件 shutil库是Python标准库之一,提供了许多文件和目录操作的函数。我们可以使用shutil库中的copy()函数来复制文件。 以下是使用shutil库复制文件的示例: import shut…

    python 2023年5月15日
    00
  • Python matplotlib绘图时指定图像大小及放大图像详解

    Python matplotlib是一个强大的数据可视化工具,而制定绘图大小和放大图像在实际应用中是非常重要的。本文将以MarkDown格式详细介绍“Python matplotlib绘图时指定图像大小及放大图像”的完整攻略。 指定图像大小 可通过以下两种方式指定图像大小: 1.通过figsize参数指定 在使用plt.subplots函数时,可以指定fig…

    python 2023年5月18日
    00
  • 更改Python的pip install 默认安装依赖路径方法详解

    下面是详细的攻略: 1. 背景介绍 在 Python 中,我们通常使用 pip 进行包管理。而在使用 pip 安装包的过程中,会依赖很多其他的包。默认情况下,这些依赖包都会被安装到 Python 的系统路径下,而这可能并不是我们想要的。 在实际项目中,我们可能需要将所有的依赖包都安装到一个指定的目录下(如项目目录下的 /lib 目录),这时就需要更改 pip…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部