Spring Boot读取yml或者properties配置信息

news/2025/1/12 19:46:51/

文章目录

  • Spring Boot读取yml或者properties配置信息
    • 方法一:@Value获取基本信息,适用于少量信息
    • 方法二:通过注解@ConfigurationProperties(prefix = "spring.datasource")
    • 方法三:通过api Environment

Spring Boot读取yml或者properties配置信息

方法一:@Value获取基本信息,适用于少量信息

package com.geekmice.springbootselfexercise;import com.geekmice.springbootselfexercise.config.DataSourceProperties;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.test.context.junit4.SpringRunner;@Slf4j
@SpringBootTest(classes = SpringBootSelfExerciseApplication.class)
@RunWith(SpringRunner.class)
class SpringBootSelfExerciseApplicationTests {@Value("${server.port}")private String port;@Testvoid contextLoads() {log.info("端口号:【{}】",port);}}

在这里插入图片描述

方法二:通过注解@ConfigurationProperties(prefix = “spring.datasource”)

编写配置类

package com.geekmice.springbootselfexercise.config;import com.sun.media.jfxmedia.logging.Logger;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/*** @BelongsProject: spring-boot-self-exercise* @BelongsPackage: com.geekmice.springbootselfexercise.config* @Author: pingmingbo* @CreateTime: 2023-08-05  23:12* @Description: TODO* @Version: 1.0*/@ConfigurationProperties(prefix = "spring.datasource")
@Component
@Data
public class DataSourceProperties {private String username;private String password;private String url;private String driverClassName;}

开始使用

package com.geekmice.springbootselfexercise;import com.geekmice.springbootselfexercise.config.DataSourceProperties;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.test.context.junit4.SpringRunner;@Slf4j
@SpringBootTest(classes = SpringBootSelfExerciseApplication.class)
@RunWith(SpringRunner.class)
class SpringBootSelfExerciseApplicationTests {@Autowiredprivate DataSourceProperties dataSourceProperties;@Testvoid contextLoads() {String username = dataSourceProperties.getUsername();String password = dataSourceProperties.getPassword();String url = dataSourceProperties.getUrl();String driverClassName = dataSourceProperties.getDriverClassName();log.info("用户名:【{}】",username);log.info("密码:【{}】",password);log.info("地址URL:【{}】",url);log.info("驱动类:【{}】",driverClassName);}
}

在这里插入图片描述

方法三:通过api Environment

package com.geekmice.springbootselfexercise;import com.geekmice.springbootselfexercise.config.DataSourceProperties;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.test.context.junit4.SpringRunner;@Slf4j
@SpringBootTest(classes = SpringBootSelfExerciseApplication.class)
@RunWith(SpringRunner.class)
class SpringBootSelfExerciseApplicationTests {@Autowiredprivate Environment environment;@Testpublic void t1(){String username = environment.getProperty("spring.datasource.username");String password = environment.getProperty("spring.datasource.password");String url = environment.getProperty("spring.datasource.url");String driverClassName = environment.getProperty("spring.datasource.driver-class-name");log.info("用户名:【{}】",username);log.info("密码:【{}】",password);log.info("地址URL:【{}】",url);log.info("驱动类:【{}】",driverClassName);}
}

在这里插入图片描述


http://www.ppmy.cn/news/1008853.html

相关文章

Android查漏补缺

(1)android apk编译步骤 ①,aapt工具生成.R文件 ②,javac编译为字节码 ③,dex工具打包为.dex文件 ④,aapt工具打包资源未见为.ap文件 ⑤,apkbuilder工具打包为apk文件 ⑥,keyt…

Linux 内核音频数据传递主要流程

Linux 用户空间应用程序通过声卡驱动程序(一般牵涉到多个设备驱动程序)和 Linux 内核 ALSA 框架导出的 PCM 设备文件,如 /dev/snd/pcmC0D0c 和 /dev/snd/pcmC0D0p 等,与 Linux 内核音频设备驱动程序和音频硬件进行数据传递。PCM 设…

2.文件的逻辑结构

第四章 文件管理 2.文件的逻辑结构 顺序文件采用顺序存储则意味着各个逻辑上相邻的记录在物理上也是相邻的存储的。所以如果第0号记录的逻辑地址为0的话,则i号记录的逻辑为i *L。 特别的如果这个定长记录的顺序文件采用串结构,也就是这些记录的顺序和他…

Go For Web:Golang http 包详解(源码剖析)

正文: Golang http 包详解(源码剖析) 前面小节我们认识了 Web 的工作方式,也成功用 Go 搭建了一个最简单的 Web 服务了解了 Golang 运行 Web 的原理。现在我们详细地去解剖以下 http 包,看看它如何实现整个过程的 Go…

识jvm堆栈中一个数据类型是否为为引用类型,目前虚拟机实现中是如何做的?

调用栈里的引用类型数据是GC的根集合(root set)的重要组成部分;找出栈上的引用是GC的根枚举(root enumeration)中不可或缺的一环。 要看JVM选择用什么方式。通常这个选择会影响到GC的实现。 如果JVM选择不记录任何这种…

CISCO MDS 9148 SAN Switch 交换机命令配置方法:

前言 CISCO MDS 9148 SAN 交换机已经停产,但还是要掌握一下配置的方法: 升级款后面 9148S 或者 9100系列,但配置方式基本都差不多,掌握一个就好: 高性能和极具吸引力的价值 Cisco MDS 9148S 16G 多层光纤交换机是下…

Android中的SharedPreferences

Android中的SharedPreferences 在Android中,SharedPreferences是一种用于存储轻量级数据的机制。它允许应用程序存储和检索键值对数据,并且对于保存一些简单的配置信息、用户偏好设置或状态信息非常有用。SharedPreferences的数据存储是基于XML文件的&a…

【websocket - Tornado】简易聊天应用

1、背景 项目测试的过程中需要自己搭建一个webscoket站点,确保此类服务接入后台系统后访问不受影响。python的服务框架常用的有Flask、Django、Tornado,每个框架的侧重点不同,导致使用的场景就会有所差异。 Flask轻量级,采用常规的同步编程方式,需要安装其他模块辅助,主…