SpringBoot项目中,获取配置文件信息

1.在配置文件中设置信息,格式如下

wechat:
  mpAppId: wxdf2b09f280e6e6e2
  mpAppSecret: f924b2e9f140ac98f9cb5317a8951c71

如果是多级目录,则

project:
  url:
    sell: http://localhost:8080

2.获取配置文件信息(三种方法)

2.1@ConfigurationProperties

复制代码
package com.xiong.sell.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "wechat")
public class WechatAccountConfig {

    private String mpAppId;

    private String mpAppSecret;
}
复制代码

2.2@Value

复制代码
package com.xiong.sell.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;


@Component
@Data
//@ConfigurationProperties(prefix = "project.url")
public class ProjectUrlConfig {
    
    @Value("${project.url.sell}")
    private String sell;
}
复制代码

单元测试结果

2.3org.springframework.core.env.Environment;

复制代码
package com.xiong.sell.config;

import lombok.extern.slf4j.Slf4j;
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.core.env.Environment;
import org.springframework.test.context.junit4.SpringRunner;


@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Slf4j
public class ConfigTest {

    @Autowired
    private Environment environment;

    @Test
    public void test2(){
        String sell = environment.getProperty("project.url.sell");
        log.info("project.url.sell = {}",sell);
    }
}
复制代码

 

单元测试结果

 

posted @   寻找梦想的大熊  阅读(11092)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2018-01-28 Python天天学_03_基础三
点击右上角即可分享
微信分享提示