Springboot 读取配置文件的参数,这里介绍2种方式。一种是使用注解@Value,一种是使用属性对应的方式。

(说明:我这里贴出来的配置,里面的参数命名是下划线和驼峰命名混用的,这里只是为了演示一下,我实际使用的过程中,把命名方式都调整成统一的了,配置文件用下划线,代码里面是驼峰。贴出来的命名,是挪用了weibo官方提供的 java SDK示例代码里面的配置,本身就是混用的。)

Springboot默认读取的是application.yml中的,yml文件或者properties文件。如果想要自定义配置文件,可以在application.yml 同级创建自定义yml或者properties文件,必须以application- 开头,然后在application.yml中配置下,多个使用逗号隔开即可。

spring:profiles:active: dev,weibo

我这里就以weibo的配置为例,配置内容做了处理。我的配置文件是application-weibo.yml,内容如下:

xxx:weiboapi:client_ID: xxxclient_SERCRET: xxxredirect_URI: xxxbaseURL: https://api.weibo.com/2/accessTokenURL: https://api.weibo.com/oauth2/access_tokenauthorizeURL: https://api.weibo.com/oauth2/authorizermURL: https://rm.api.weibo.com/2/grant_type: authorization_code

1、使用@Value注解

首先定义WeiboConfig.java

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;/*** <p>* Title WeiboConfig* </p>* <p>* Description 微博配置* </p>** @Author lzh_me@126.com* @Date 2021-11-26 8:44* @Version 1.0*/@Configuration
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WeiboConfig {/*** AppKey*/@Value("${pomp.weiboapi.client_ID}")private String clientId;/*** AppSecret*/@Value("${pomp.weiboapi.client_SERCRET}")private String clientSercret;/*** 授权回调地址*/@Value("${pomp.weiboapi.redirect_URI}")private String redirectURI;/*** baseURL*/@Value("${pomp.weiboapi.baseURL}")private String baseURL;/*** accessTokenURL*/@Value("${pomp.weiboapi.accessTokenURL}")private String accessTokenURL;/*** authorizeURL*/@Value("${pomp.weiboapi.authorizeURL}")private String authorizeURL;/*** rmURL*/@Value("${pomp.weiboapi.rmURL}")private String rmURL;/*** 请求的类型,填写authorization_code*/@Value("${pomp.weiboapi.grant_type}")private String grantType;
}

测试类:

@SpringBootTest
@RunWith(SpringRunner.class)
public class WeiboTest {@Resourceprivate WeiboConfig weiboConfig;@Testpublic void test(){String url = weiboConfig.getAccessTokenURL();if(null == url){System.out.println("null------------------");}System.out.println(url);}
}

2、使用类属性获取

WeiboConfig.java内容:

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;/*** <p>* Title WeiboConfig* </p>* <p>* Description 微博配置* </p>** @Author lzh_me@126.com* @Date 2021-11-26 8:44* @Version 1.0*/
@Component
@Data
@NoArgsConstructor
@AllArgsConstructor
@ConfigurationProperties(prefix = "xxx.weiboapi")
public class WeiboConfig {/****/private String clientId;/****/private String clientSercret;/****/private String redirectURI;/****/private String baseURL;/****/private String accessTokenURL;/****/private String authorizeURL;/****/private String rmURL;/****/private String grantType;
}

对应的application-weibo.yml内容:注意这里的参数命名改了。

xxx:weiboapi:clientId: xxxclientSercret: xxxredirectURI: xxxbaseURL: https://api.weibo.com/2/accessTokenURL: https://api.weibo.com/oauth2/access_tokenauthorizeURL: https://api.weibo.com/oauth2/authorizermURL: https://rm.api.weibo.com/2/grantType: authorization_code

测试类同上。

PS:这里是2版配置文件,里面的配置属性命名不一样。

我选用的是@Value注解的方式,这样配置文件的参数命名和java代码里面的命名可以不用一致。

Springboot 读取配置文件参数(yml\properties)相关推荐

  1. SpringBoot 读取配置文件中参数全面教程

    一.简介 在日常开发使用 SpringBoot 框架时,经常有一些配置信息需要放置到配置文件中,我们需要手动读取这些配置到应用中进行一些逻辑,这里整理了一些常用读取配置的方法,简单介绍一下. 1.Sp ...

  2. SpringBoot项目使用@Value读取配置文件application.yml的值

    SpringBoot项目使用@Value读取配置文件application.yml的值 前景:因为之前用@Value注解都是在Service里面,而Service的调用都是用的@Autowired等注 ...

  3. 你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及源码解析

    你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及原理解析 一.SpringBoot全局配置文件优先级 二.属性注入常用注解 1 ...

  4. springboot读取配置文件的三种方式

    项目中springboot读取配置文件的三种方式: 1.使用Environment 2.使用@Value 3.使用@ConfigurationProperties注解映射到bean中,定义一个User ...

  5. 【SpringBoot零基础案例04】【IEDA 2021.1】SpringBoot核心配置文件appilcation.yml或application.yaml

    新建模块,并创建IndexController类 package com.zx.springboot.web;import org.springframework.stereotype.Control ...

  6. springboot 读取配置文件_使用 @ConfigurationProperties 在 Spring Boot 中加载配置

    本文地址: 使用 @ConfigurationProperties 在 Spring Boot 中加载配置 使用 Spring Boot 加载配置文件的配置非常便利,我们只需要使用一些注解配置一下就能 ...

  7. springboot项目需要读取非application.yml/properties 的配置文件

    目录: 1.操作步骤 2.总结 3.扩展 4.第二种方法获取配置文件bean 1.操作步骤 1.新建配置文件: 2.编辑配置文件: test-server=rd-dev02.jr.rong360.co ...

  8. springboot 配置全局响应数据_SpringBoot如何读取配置文件参数并全局使用

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. docker springboot读取配置文件_Docker从入门到掉坑(三):容器太多,操作好麻烦

    前边的两篇文章里面,我们讲解了基于docker来部署基础的SpringBoot容器,如果阅读本文之前没有相关基础的话,可以回看之前的教程. Docker 从入门到掉坑​mp.weixin.qq.com ...

最新文章

  1. HTTP 加速器 Varnish
  2. navicate 导出批量插入语句
  3. python rsa 公钥解密_python使用rsa库做公钥解密(网上别处找不到)
  4. 栈的应用——表达式求值(双栈)
  5. C++生成指定范围内随机数封装
  6. Axure高保真移动端智能数据监控+用户画像+饼状图+条形图+折线图数据统计+抖音直播app用户数据统计+智慧移动端主播粉丝、评论、播放量大数据统计+套餐购买、续费套餐prd流程
  7. 长文解读:迟到的Libra与即将到来的Commodity 2.0
  8. 《HTTP权威指南》读书笔记---说明
  9. 理发店收银系统php,理发店收银系统优缺点
  10. textpattern将添加后台theme功能
  11. 洛谷P3533 [POI2012]RAN-Rendezvous
  12. 白话空间统计二十三回归分析番外:残差可视化
  13. 4K动态视频壁纸「Dynamic Wallpaper」
  14. 基于SSH的校园二手物品交易系统
  15. 移动哨兵远程监控系统方案
  16. 淘宝API-物流发货接口
  17. 5款电子书阅读APP,看小说的必备神器
  18. 中文语法纠错全国大赛获奖分享:基于多轮机制的中文语法纠错
  19. P1425 小鱼的游泳时间(C语言)
  20. 移动应用程序开发_7种用于移动应用程序开发的终极编程语言

热门文章

  1. HTML中如何为表格添加标题(添加的标题与表格相对静止)(tablecaption标题/caption/table)
  2. MS SQL Server存储生僻字变为问号(?)的解决方法
  3. 已检测到有人在用该台计算机,Windows 10 21H2通过检测到人的存在自动解锁电脑
  4. 前端进阶之PromiseA+规范
  5. CVE-2016-6816、CVE-2016-8735、CVE-2016-8745、CVE-2017-5647
  6. redis发布订阅c接口_redis 发布订阅
  7. 甜甜用计算机计算1050,甜的滋味_作文1050字_初二作文_第一范文网
  8. 高通起诉苹果:要求在中国禁止生产和销售 iPhone
  9. 幼儿园游戏与设计课程标准
  10. linux终端stty恢复默认,linux stty命令