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 无法处理以 0 开头的数字字符串。为什么?

    【问题标题】:Python cannot handle numbers string starting with 0. Why?Python 无法处理以 0 开头的数字字符串。为什么? 【发布时间】:2023-04-03 23:37:01 【问题描述】: 我刚刚在我的 python 解释器上执行了以下程序: >>> def mylife(x…

    Python开发 2023年4月8日
    00
  • Python 流媒体播放器的实现(基于VLC)

    下面我将为您详细讲解“Python 流媒体播放器的实现(基于VLC)”的完整攻略。 一、背景介绍 在Python程序中,我们有时需要集成流媒体播放器的功能,让用户可以直接在应用程序内部播放媒体文件。本攻略将基于VLC库实现Python中的流媒体播放器。 二、实现步骤 1. 安装VLC 在开始之前,我们需要先安装VLC,安装过程请参考VLC官方文档。 2. 安…

    python 2023年6月13日
    00
  • Python3并发写文件与Python对比

    Python是一门非常强大的编程语言,除了能够处理各种数据类型,还拥有强大的并发处理能力。在并发写文件方面,Python3提供了多种实现方式,同时可以与Python2进行比较。下面我将详细讲解“Python3并发写文件与Python对比”的完整攻略: 一、Python3并发写文件 1.1 使用多线程 Python3中的多线程是一种轻量级的并发处理方式,通过使…

    python 2023年5月19日
    00
  • 详解python百行有效代码实现汉诺塔小游戏(简约版)

    详解Python百行有效代码实现汉诺塔小游戏(简约版) 本文介绍一个Python实现汉诺塔小游戏的代码,只需100行左右,包含了注释和测试代码。该代码实现了汉诺塔小游戏的完整功能,包括打印提示信息、输入和校验用户输入、移动棋子和胜利条件判断等。 汉诺塔小游戏介绍 汉诺塔(Tower of Hanoi)是一个古老的数学问题,通常有三个柱子和一些圆盘,每个圆盘都…

    python 2023年5月19日
    00
  • python如何爬取动态网站

    要爬取动态网站,需要使用Selenium这样的工具。Selenium是一个自动化测试工具,它可以驱动浏览器并模拟用户的行为,从而实现网页自动化操作。下面是python爬取动态网站的攻略。 安装Selenium 安装Selenium的步骤如下: 安装Python,推荐使用Python 3.x版本。 安装pip,如果你使用Python 3.x版本,pip已经预装…

    python 2023年5月13日
    00
  • python实现简易五子棋游戏(控制台版)

    下面是详细的攻略: python实现简易五子棋游戏(控制台版) 本文将介绍如何通过Python语言实现一个简易的五子棋游戏,主要使用Python基础语法和标准库函数,适合初学者或想进一步熟悉Python语法的人。游戏使用控制台进行展示,不涉及图形界面。 思路与实现 初始化棋盘 棋盘的使用采用二维列表来实现,棋盘大小为15*15,每格状态用0、1、2表示,0为…

    python 2023年5月19日
    00
  • 详解Python 用virtualenv隔离项目依赖关系

    为了隔离不同项目的依赖关系,我们可以使用Python中的virtualenv工具。本文将详细介绍如何使用virtualenv创建虚拟环境并管理项目的依赖关系。 什么是virtualenv virtualenv是Python中的一个工具,用于创建独立的Python环境。每个虚拟环境都可以拥有自己的Python解释器以及自己的项目依赖库,从而保证不同的项目之间的…

    python-answer 2023年3月25日
    00
  • Python实现绘制多种激活函数曲线详解

    下面是Python实现绘制多种激活函数曲线的详解攻略。 概述 神经网络中的激活函数对模型的性能具有很大的影响,常用的激活函数有sigmoid、ReLU、tanh等。在实际应用中,我们往往需要对各种激活函数进行模拟和可视化,以便对其进行研究和优化。在这里,我们将详细讲解如何使用Python实现绘制多种激活函数的曲线图。 任务 绘制如下几种激活函数的曲线图: s…

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