SpringBoot读取yml文件的3种方式
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中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

一、服务配置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

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

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