目录
Spring Boot读取yml文件的主要方式有以下几种:
1.@Value注解
2.Environment对象
3.@ConfigurationProperties注解
4.YmlPropertySourceFactory
5.@YamlComponent注解
首页 Java java教程 SpringBoot读取yml文件的3种方式

SpringBoot读取yml文件的3种方式

Jun 29, 2023 pm 11:25 PM
yml


Spring Boot读取yml文件的主要方式有以下几种:

1.@Value注解

我们可以在bean的属性上使用@Value注解,直接读取yml中的值,如:

application.yml:

name: Zhangsan
登录后复制

Bean:

public class MyBean {
    @Value("${name}")
    private String name;
}
登录后复制

2.Environment对象

我们可以通过注入Environment对象来读取yml值,如:

@Autowired
private Environment environment;
public void doSomething() {
    String name = environment.getProperty("name");
}
登录后复制

3.@ConfigurationProperties注解

我们可以使用@ConfigurationProperties注解将yml中的值映射到bean的属性上,如:

application.yml:

my: 
    name: Zhangsan
    age: 18
登录后复制

Bean:

@Component 
@ConfigurationProperties(prefix = "my")
public class MyProps {
    private String name;
    private int age;
    // getter and setter
}
登录后复制

4.YmlPropertySourceFactory

我们可以使用YmlPropertySourceFactory来加载yml文件,然后像普通Properties一样读取值,如:

@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
    YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
    factory.setResources(new ClassPathResource("application.yml"));
    factory.getObject().forEach((k, v) -> System.out.println(k + ": " + v));
    return factory; 
}
登录后复制

5.@YamlComponent注解

如果yml文件中用—分隔了多个文档,我们可以使用@YamlComponent注解将每份文档映射到一个bean上,如:

application.yml:

my:
  name: Zhangsan 
---
my: 
  name: Lisi
登录后复制

Beans:

@Component("first") 
@YamlComponent(value = "my.first")
public class FirstProps {
    private String name;
}
@Component("second")  
@YamlComponent(value = "my.second")
public class SecondProps {
    private String name; 
}
登录后复制

可以根据需求选择其中5种主要方式,Spring Boot可以读取yml文件。yml作为Spring Boot默认的配置文件格式,理解如何操纵yml文件将有助于我们实现系统配置的灵活性。

以上是SpringBoot读取yml文件的3种方式的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

springboot怎么读取yml文件中的list列表、数组、map集合和对象 springboot怎么读取yml文件中的list列表、数组、map集合和对象 May 11, 2023 am 10:46 AM

application.yml定义list集合第一种方式使用@ConfigurationProperties注解获取list集合的所有值type:code:status:-200-300-400-500编写配置文件对应的实体类,这里需要注意的是,定义list集合,先定义一个配置类Bean,然后使用注解@ConfigurationProperties注解来获取list集合值,这里给大家讲解下相关注解的作用@Component将实体类交给Spring管理@ConfigurationPropertie

SpringBoot读取yml文件的3种方式 SpringBoot读取yml文件的3种方式 Jun 29, 2023 pm 11:25 PM

SpringBoot读取yml文件的主要方式有以下几种:1.@Value注解我们可以在bean的属性上使用@Value注解,直接读取yml中的值,如:application.yml:name:ZhangsanBean:publicclassMyBean{@Value("${name}")privateStringname;}2.Environment对象我们可以通过注入Environment对象来读取yml值,如:@AutowiredprivateEnvironmentenv

Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆红怎么解决 Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆红怎么解决 May 11, 2023 pm 09:52 PM

com.mysql.cj.jdbc.Driver在yml文件中爆红的原因前几天搭建了一个框架,出现一个奇怪的问题,配置mysql文件时,com.mysql.cj.jdbc.Driver一直在爆红,我以为是版本太低了,就升级了高版本,但是还在爆红,最后我在网上查了半天,网上的方法就是说版本太低了,但是我还是一直不行以前用的依赖包是:mysqlmysql-connector-java8.0.15最后我把版本号去掉就好了,mysqlmysql-connector-javadriver-class-na

SpringBoot怎么实现读取YML,yaml,properties文件 SpringBoot怎么实现读取YML,yaml,properties文件 May 13, 2023 pm 09:07 PM

yml,yaml,properties三种文件都是用来存放配置的文件,一些静态数据,配置的数据都会存放到里边。但是有的时候我们不仅仅需要存储静态数据,还需要从文件中读取数据出来。这三种文件都放在项目--》src--》main--》resource下边。如果resource里边需要存放其他文件的话,会在resource里边创建一个config包。将配置文件存放其中。1.在项目中新建配置文件,文件存放地址bootstrap.yml是SpringBoot程序的一个配置文件,在项目启动前就会被加载,将数

SpringBoot项目多层级多环境yml设计的方法是什么 SpringBoot项目多层级多环境yml设计的方法是什么 May 30, 2023 pm 11:36 PM

需求场景基础设施模块中有一些通用固定的基础配置。例如:日志的配置,Spring本身的配置以及MyBatisPlus相关的固定配置等等。这些配置往往与环境无关,如何复用?#日志配置logging:level:#记得配置到包名com.agileboot:debugorg.springframework:infopattern:console:"%date%thread%green(%level)[%cyan(%logger{10}):%magenta(%line)]%red(%method

Springboot的yml配置文件怎么使用 Springboot的yml配置文件怎么使用 May 11, 2023 pm 12:19 PM

一、服务配置server:port:8989servlet:#context-path就是端口号与服务之间要加的一段路径,比如localhost:8080/wcm/login/login的/wcm就是context-path:/二、数据库连接spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/jxc_manage?useUnicode=true&charac

Springboot怎么指定获取出yml文件里的配置值 Springboot怎么指定获取出yml文件里的配置值 May 15, 2023 am 09:55 AM

内容:这里分别介绍两种方式,都是基于注解实现,分别是:@Value("${xxxxx.xx}")@ConfigurationProperties(prefix="xxxxx")进入主题:@Value("${xxxxx.xx}")使用这种方式非常简单(每一个注解获取一个对应的配置值),在yml里面加入我们的自定义配置项,如(大小写随意,调用时对应好就行):指定获取这些值去使用,如:@Value("${myKey.tua}&quo

SpringBoot读取Yml配置文件的方法有哪些 SpringBoot读取Yml配置文件的方法有哪些 Jun 02, 2023 pm 10:20 PM

1.基础用法,使用注解@Autowired注入Environment类这种方式比较常见,就像注入service或者dao一样,声明一个Environment类变量,加上@Autowire注解。如下:importorg.springframework.core.env.Environment;@AutowiredprivateEnvironmentenvironment;使用方法就是通过getProperty(key)方法读取配置文件中的信息,代码如下:1).Yml中的配置heycloud:job

See all articles