Springboot 指定获取出 yml文件里面的配置值

简介: Springboot 指定获取出 yml文件里面的配置值

之前写过一篇获取properties文件里面的值:


Springboot 指定获取自己写的配置properties文件的值


现在补充多一篇,指定获取yml里面的配置值 。


内容:



这里分别介绍两种方式,都是基于注解实现,分别是:


@Value("${xxxxx.xx}")


@ConfigurationProperties(prefix = "xxxxx")


进入主题:


@Value("${xxxxx.xx}")


使用这种方式非常简单(每一个注解获取一个对应的配置值),


在yml里面加入我们的自定义配置项,如(大小写随意,调用时对应好就行):


image.png 


指定获取这些值去使用,如:


    @Value("${myKey.tua}")
    private  String tuaKey;
    @Value("${myKey.aco}")
    private  String acoKey;
    @Value("${mynum.new}")
    private  String myNum;
    @GetMapping("/getMyTest")
    public void getMyTest(){
        System.out.println("tuaKey:"+tuaKey);
        System.out.println("acoKey:"+acoKey);
        System.out.println("myNum:"+myNum);
    }


可以看到结果,获取正常:


image.png


@ConfigurationProperties(prefix = "xxxxx")


使用这种方式也非常简单(一次性将多个配置值获取并示例化成bean放入到spring容器里面),


在yml里面加入我们的自定义配置项,如(注意,使用一开始的key参数使用小写,使用大写会出错,因为prefix不支持驼峰命名和下划线形式):


image.png


然后我们建一个对于这些配置项的实体类,并使用上注解 @ConfigurationProperties ,如:


prefix指前缀,一般也就是第一个,我们这个例子的第一个是myinfo


import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 * @Author : JCccc
 * @CreateTime : 2020/5/19
 * @Description :
 **/
@Component
@ConfigurationProperties(prefix = "myinfo")
public class MyInfo {
    private String name;
    private Integer age;
    private String description;
    @Override
    public String toString() {
        return "MyTest{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", description='" + description + '\'' +
                '}';
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}


指定获取这些值去使用,也就是相当于使用这个类,直接配合@Autowired 使用即可:


    @Autowired
    MyInfo myInfo;
    @GetMapping("/getMyTest")
    public void getMyTest(){
        System.out.println("myInfo:"+myInfo.toString());
        System.out.println("myInfo name:"+myInfo.getName());
    }


可以看到结果,获取正常:


image.png


ok,该篇就到此。

相关文章
|
2月前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
132 1
SpringBoot获取项目文件的绝对路径和相对路径
|
3月前
|
XML Java Kotlin
springboot + minio + kkfile实现文件预览
本文介绍了如何在容器中安装和启动kkfileviewer,并通过Spring Boot集成MinIO实现文件上传与预览功能。首先,通过下载kkfileviewer源码并构建Docker镜像来部署文件预览服务。接着,在Spring Boot项目中添加MinIO依赖,配置MinIO客户端,并实现文件上传与获取预览链接的接口。最后,通过测试验证文件上传和预览功能的正确性。
172 4
springboot + minio + kkfile实现文件预览
|
2月前
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
55 11
|
2月前
|
存储 前端开发 JavaScript
|
2月前
|
存储 Java API
|
3月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
3月前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
82 2
|
2月前
|
Java
SpringBoot获取文件将要上传的IP地址
SpringBoot获取文件将要上传的IP地址
38 0
|
3月前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
53 0
|
3月前
|
JavaScript 前端开发 Java
Springboot+vue实现文件的下载和上传
这篇文章介绍了如何在Springboot和Vue中实现文件的上传和下载功能,包括后端控制器的创建、前端Vue组件的实现以及所需的依赖配置。
336 0