广告
返回顶部
首页 > 资讯 > 后端开发 > Python >springboot yml配置文件值注入方式
  • 473
分享到

springboot yml配置文件值注入方式

2024-04-02 19:04:59 473人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录yml配置文件值注入搭建项目创建实体类Spring Boot核心配置文件application.yml测试类运行自动注入yml文件和properties文件yml文件的自动注入c

yml配置文件值注入

搭建项目

参考 idea快速搭建spring-boot项目(Spring initializr)

pom.xml

创建项目后,还需在pom.xml中的<dependencies>标签添加该依赖。

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
</dependency>

创建实体类

package com.demo.demo;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private int age;
    @Override
    public String toString() {
        return "person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

spring boot核心配置文件application.yml

1.将application.properties文件后缀改为.yml,内容为:

server:
  port: 8080
person:
  name: 小狗
  age: 21

测试类

package com.demo.demo;
import com.demo.demo.Person;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
    @Autowired
    Person person=new Person();
    @Test
    public void contextLoads() {
        System.out.println(person);
    }
}

运行

在这里插入图片描述

结果:

在这里插入图片描述

自动注入yml文件和properties文件

在springboot中,如果需要使用到配置文件中的数据,自动注入即可,非常方便,但是在使用yml中的属性时,自动注入却失效了? 发现,如果是properties文件,直接注入即可,但是yml需要增加一个配置

yml文件的自动注入class

yml文件相对于properties较整洁和简便,在自动注入的使用需要增加配置

增加pom依赖

  <!--*.yml auto inject config-->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-configuration-processor</artifactId>
       <optional>true</optional>
   </dependency>

增加配置类

public class YamlPropertyLoaderFactory  extends DefaultPropertySourceFactory {
    @Override
    public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException {
        if (null == resource) {
            super.createPropertySource(name, resource);
        }
        return new YamlPropertySourceLoader().load(resource.getResource().getFilename(), resource.getResource(),null);
    }
}

注入指定yml配置文件到实体类中


@Configuration
@PropertySource(value = "classpath:application-quartz.yml", factory = YamlPropertyLoaderFactory.class)
@ConfigurationProperties(prefix = "quartz")
public class JobTime {
    private String articleCarwler;
    private String earthlySweetSentenceapi;
    private String rainbowFartApi;
    private String qqRobotMsgTimer;
}

说明:

@PropertySource(value = "classpath:application-quartz.yml", factory = YamlPropertyLoaderFactory.class) 

这个注解表示注入哪个配置文件,指定第二步中的配置类

@ConfigurationProperties(prefix = "quartz") 

表示指定配置文件中的属性是什么前缀,可忽略,例如:quartz.articleCarwler=0 0/5 * * * ?

Properties配置文件自动注入

properties类型的配置文件就比较简单,不需要增加上面的依赖和配置,直接指定注入即可

直接注入属性到class

@Configuration
@PropertySource("classpath:/application.properties")
@ConfigurationProperties(prefix = "quartz")
public class JobTime {
    private String task1;
    private String task2;
}

说明:

@PropertySource("classpath:/application.properties")

指定配置文件名称

@ConfigurationProperties(prefix = "quartz")

指定配置文件中的key的前缀,可忽略此注解, 例如:quartz.task1=0 3 * * * ?

代码中直接注入

如果是在代码中使用单独的属性,不需要将属性都注入到class中,那么可直接使用注解注入到变量中,在代码中直接使用

无论是yml还是properties都可以直接注入,不需要其他配置

使用注解:@Value("${key}") 就可以直接注入。

例如:

    @Value("${quartz.taks1}")
    private String taks1;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: springboot yml配置文件值注入方式

本文链接: https://www.lsjlt.com/news/162963.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot yml配置文件值注入方式
    目录yml配置文件值注入搭建项目创建实体类spring boot核心配置文件application.yml测试类运行自动注入yml文件和properties文件yml文件的自动注入c...
    99+
    2022-11-13
  • springboot yml配置文件值的注入方式是什么
    这篇文章跟大家分析一下“springboot yml配置文件值的注入方式是什么”。内容详细易懂,对“springboot yml配置文件值的注入方式是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够...
    99+
    2023-06-26
  • SpringBoot 配置文件给实体注入值方式
    目录配置文件给实体注入值properties用法yaml用法通过配置文件给实体类注入属性上面yml中注意也可以使用properties注入配置文件值注入方式1.1 从全局配置文件中读...
    99+
    2022-11-13
  • springboot注入yml配置文件 list报错的解决方案
    目录springboot注入yml配置文件 list报错注入list的正确方法springboot yml 配置文件注入Map,Listspringboot注入yml配置文件 lis...
    99+
    2022-11-12
  • SpringBoot配置文件方式,在线yml文件转properties
    目录一、SpringBoot可以识别4种配置文件二、配置文件优先级1.后缀优先级2.目录顺序优先级(从上至下)三、分享一下yml与properties配置转换一、SpringBoot...
    99+
    2022-11-13
  • springboot配置文件中使用${}注入值的方式有哪些
    这篇文章主要为大家展示了“springboot配置文件中使用${}注入值的方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“springboot配置文件中使用${}注入值的方式有哪些”这篇...
    99+
    2023-06-29
  • SpringBoot文件上传大小设置方式(yml中配置)
    目录文件上传大小设置上传文件大小yml参数配置解决方法文件上传大小设置 #文件大小 MB必须大写 #  maxFileSize 是单个文件大小 #  maxRequestSize是设...
    99+
    2022-11-13
  • Springboot读取yml配置文件里的参数值
    目录方式一 方式二 总结 方式一 1.yml配置 yml配置(示例): api: mes: MES_SOCKET: http://192.168.99.140:...
    99+
    2022-11-12
  • SpringBoot实现yml配置文件为变量赋值
    目录yml配置文件为变量赋值1. 创建person类和Car类2. 为person类创建yml配置文件3.创建启动类在yml文件中配置变量例如:二维码的内容yml配置文件为变量赋值 ...
    99+
    2022-11-13
  • springboot如何引入外部yml配置文件
    目录springboot引入外部yml配置文件springboot引入多个yml1. 项目内部配置文件2. 外部配置加载顺序springboot引入外部yml配置文件 当需要在spr...
    99+
    2022-11-13
  • springboot配置文件中使用${}注入值的两种方式小结
    目录配置文件中使用${}注入值方式在springboot中使用System.setProperty设置参数配置文件自扫描spring配置文件${}的用法话不多说直接看就完事了配置文件...
    99+
    2022-11-13
  • SpringBoot怎么配置文件给实体注入值
    这篇文章主要介绍了SpringBoot怎么配置文件给实体注入值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么配置文件给实体注入值文章都会有所收获,下面我们一起来看看吧。配置文件给实体注入...
    99+
    2023-06-29
  • Springboot的yml配置文件用法
    目录一、服务配置二、数据库连接三、Mybatis-Plus四、日志打印五、Redis总结一、服务配置 server: port: 8989 servlet: # con...
    99+
    2023-03-19
    Springboot yml yml配置文件 Springboot yml配置文件
  • springboot代码,注解配置获取yml,properties文件的map即键值对
    目录注解配置获取yml,properties文件map即键值对yml获取自定义键值对properties 获取自定义键值对properties配置应用,为什么需要使用properti...
    99+
    2022-11-13
  • SpringBoot读写操作yml配置文件方法
    目录yml配置规则普通的kv读取读取到集合和数组读取为对象和Mapyml配置规则 属性跟属性值之间使用“:”和一个“空格”隔开,层级结...
    99+
    2023-01-28
    SpringBoot读写操作yml SpringBoot yml配置文件
  • 使用springboot配置文件yml中的map形式
    目录springboot配置文件yml的map形式1、yml中的格式2、创建一个类3、引用4、打印SpringBootyaml文件map集合使用yaml文件配置配置文件对应的bean...
    99+
    2022-11-12
  • SpringBoot yml配置文件如何读取
    本篇内容主要讲解“SpringBoot yml配置文件如何读取”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot yml配置文件如何读取”吧!yaml介绍YA...
    99+
    2023-07-04
  • docker-compose安装yml文件配置方式
    目录1、离线安装2、在线安装3、卸载4、定义yml文件1、离线安装 https://github.com/docker/compose/releases 移动文件 mv dock...
    99+
    2022-11-12
  • SpringBoot配置文件properties和yml的实现
    目录配置文件的作用SprintBoot的配置文件(两种):propertiesyml读取配置文件的方法:@Value注解读取单个配置项@ConfigurationProperties...
    99+
    2022-11-13
  • Springboot的yml配置文件怎么使用
    今天小编给大家分享一下Springboot的yml配置文件怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、服务配置...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作