首页 > 其他分享 >springboot读取配置信息,环境变量的方法

springboot读取配置信息,环境变量的方法

时间:2023-02-21 18:00:40浏览次数:38  
标签:properties String private 环境变量 springboot msg public 读取

前提

配置文件一般是值resources目录下的application.properties或application.yml,其中保存着配置信息

代码中实现配置注入的方法

  1. 使用@Value注解 @Value("${test.msg}")
@RestController
public class WebController {

    @Value("${test.msg}")
    private String msg;

    @RequestMapping(value = "index", method = RequestMethod.GET)
    public String index() {
        return "The Way 1 : " +msg;
    }
}

  1. 使用spring boot的Environment对象 env.getProperty("test.msg")
@RestController
public class WebController {

    @Autowired
    private Environment env;
 
    @RequestMapping(value = "index2", method = RequestMethod.GET)
    public String index2() {
        return "The Way 2 : " + env.getProperty("test.msg");
    }
}

  1. 使用springboot转换为java类

@Component
@ConfigurationProperties(prefix="people")
@Data
public class People {
    private String name;
    private Integer age;
}

//然后在需要使用的地方使用@Autowired注入
@Autowired
private People me;

  1. 为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息
    这里在resources/config目录下创建配置文件my-web.properties
    使用@Component和 @ConfigurationProperties来转换为java bean对象注入
@ConfigurationProperties(locations = "classpath:config/my-web.properties", prefix = "web")
@Component
@Data
public class MyWebConfig {
    private String name;
    private String version;
    private String author;
}

在需要使用的地方使用@Autowired注解注入、

5.在docker环境中,application.properties或application.yml读取环境变量
name: ${M2_HOME:abc} #首先取环境变量M2_HOME,如果环境变量中没有,就取abc这个固定值

标签:properties,String,private,环境变量,springboot,msg,public,读取
From: https://www.cnblogs.com/xiaoyu-jane/p/17141907.html

相关文章

  • SpringBoot多数据源
    重点概念多数据源在配置之后是根据service的实现类上面的注解来确定生效范围的,一个实现类可以根据注解代表一个数据库ServiceImplimportcom.baomidou.dynamic.datasou......
  • uniapp安卓本地文件读取(html5+)
    plus.io.resolveLocalFileSystemURL(                "_www/static/caise.json",//static下路径                    functi......
  • 关于压缩后字符串写入clickhouse再读取后无法反解压的问题
    我们将一个长字符串进行了压缩,采用zstd或者snappy之类的,将字符串压成了byte[],然后将byte[]作为一个属性写入了clickhouse数据库,clickhouse会默认将byte[]转为String进行存储......
  • Camunda(二)---Springboot引入
    Springboot引入参考:【第三篇】Camunda系列-整合SpringBoot-腾讯云开发者社区-腾讯云(tencent.com) 简单的引入方式访问:https://start.camunda.com解压压缩包,通过......
  • ArcGIS Pro SDK 002 对数据文件的读取和操作
    做系统开发或者数据处理的时候,我一般还是喜欢使用文件数据源,例如矢量用.shp文件存储,栅格数据用.tif或者.img文件存储。ArcGISProSDK中对数据源操作的API和ArcObjectsSDK......
  • springboot 使用@Async注解实现异步多线程
    1、在启动类中添加注解@SpringBootApplication@EnableAsync//@ImportResource(locations={"classpath:spring/my.xml"})publicclassDemoApplication{publi......
  • Springboot整合JWT封装工具类篇(二)
    前言:这里是将Springboot整合JWT测试篇(一)封装成工具类publicclassJWTUtils{//秘钥自己保管好privatestaticStringSECRET="token!Q@W3e4r";/**......
  • Springboot整合JWT测试篇(一)
    一、pom文件中引入依赖<!--引入jwt--><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.4.0</version></dependency>......
  • eclipse创建springBoot项目
    创建SpringBoot工程先在eclipse中安装spring-tool-suite插件,然后根据以下步骤可以创建1、新建SpringStarterProject2、Packaging选择jar 3、勾选Web项 4、项目结......
  • SpringBoot集成Tomcat服务
    目录一、Tomcat集成1、依赖层级2、自动化配置二、Tomcat架构三、Tomcat配置1、基础配置2、属性配置类3、配置加载分析四、周期管理方法1、控制类2、核心方法五、参考源码......