第十一节:学习通过动态调用application.properties参数配置实体类(自学Spring boot 3.x的第二天)

大家好,我是网创有方。这节实现的效果是通过代码灵活地调用application.properties实现配置类参数赋值。

第一步:编写配置类

package cn.wcyf.wcai.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;@Configuration   //声明是个配置类
public class WechatConfig {public String getAppId() {return appId;}public void setAppId(String appId) {this.appId = appId;}public String getToken() {return token;}public void setToken(String token) {this.token = token;}public String getSecretKey() {return secretKey;}public void setSecretKey(String secretKey) {this.secretKey = secretKey;}private String appId;private String token;private String secretKey;
}

第二步:编写application.properties

spring.application.name=wcai
server.port=80
#用于配置请求controller的path前缀,比如/demo,就是在请求前面加上/demo,留空就不加
server.servlet.context-path=
wechat.app-id=wx4dqdadqqdq
wechat.token=da6644qd44ad72q
wechat.secret-key=7a78d57q4523szd45357

第三步:编写 Controller,通过environment的getProperty动态获取application.properties的参数

@RestController
public class HellowordController {@ResourceApplicationContext applicationContext;@RequestMapping("/helloword")public String getHelloword(){return "helloword";}@RequestMapping("/getWechatConfig")public WechatConfig getWechatSetting(){Environment enr = applicationContext.getEnvironment();String appId = enr.getProperty("wechat.app-id");String token = enr.getProperty("wechat.token");String secret_key = enr.getProperty("wechat.secret-key");WechatConfig wechatSetting = new WechatConfig();wechatSetting.setAppId(appId);wechatSetting.setToken(token);wechatSetting.setSecretKey(secret_key);return wechatSetting;}
}

运行效果:

 

个人感觉这种方式还是没有上节的自动配置方法好用。第十节:学习ConfigurationProperties类来配置pojo实体类参数(自学Spring boot 3.x的第二天)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探索:WebKit中Flexbox布局的全面支持与实践

标题:深入探索:WebKit中Flexbox布局的全面支持与实践 摘要 Flexbox布局是CSS3的一部分,提供了一种更加强大和灵活的方式来布局、对齐和分配容器内项目的空间,即使它们的大小未知或是动态变化的。WebKit作为Safari浏览器的渲染引…

11. Revit API UI 补充

11. Revit API UI 补充 UI篇我也只写了主要的,部分关联的没有写。 以前发的又不想去改,这里就做一些补充吧。 一、可停靠窗口补充 在可停靠窗口那篇,提到要实现IDockablePageProvider接口,就略过了。 该接口要求实现一个方法。…

苏东坡传-读书笔记四

长江三峡,无人不知其风光壮丽,但对旅客而言,则是险象环生。此段江流全长二百二十余里,急流旋涡在悬崖峭壁之间滚转出入,水下暗石隐伏,无由得见,船夫要极其敏捷熟练,才可通行。三峡之…

每日算法-二分查找

适用场景 适用于有序数组中查找某一个值. 每查找一次,就将搜寻范围缩小一半, 平均时间复杂度是O(logN), 简记作:O(lgN). 主要难点 主要难点在于边界条件的判断; 大致思路: 1.当供查找的数组不合法时,直接返回结果,查询无果; 2.当数组长度等于1时,直接判断是否…

AI生成音乐——创作的革命与未来的思考

AI在创造还是毁掉音乐? 最近一个月,音乐大模型的轮番上线,迅速降低了素人生产音乐的门槛,并引发了关于音乐圈是否会被AI彻底颠覆的热议。短暂的兴奋过后,更多理性的目光开始审视AI产品的版权归属、创意产业在AI阴影下…

Redis 7.x 系列【6】数据类型之字符串(String)

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 前言2. 常用命令2.1 SET2.2 GET2.3 MSET2.4 MGET2.5 GETSET2.6 STRLEN2.7 SETEX2.8…

全方位对比PostgreSQL和MySQL

目录 引言 技术架构与设计哲学 起源与发展 数据库引擎 PostgreSQL与MySQL:SQL语法与特性对比概览 PostgreSQL与MySQL高级特性对比:数据类型与事务处理能力 数据类型与功能特性 PostgreSQL与MySQL性能与可扩展性对比 PostgreSQL与MySQL性能与可扩…

南昌高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

南昌高校大学智能制造实验室,作为该地区乃至全国智能制造领域的重要研究和教学基地,一直致力于探索和创新智能制造技术。近日,该实验室的数字孪生可视化系统平台建设项目成功通过了验收,标志着其在数字孪生技术领域取得了重大突破…

Trick :带 pop 的 STL 结构化绑定时不要用 auto

题目描述 给一个 n m n\times m nm 矩阵迷宫, 第 i i i 行第 j j j 列的值为 c i , j c_{i,j} ci,j​ , L H LH LH 在迷宫中迷路了,他需要你的帮助。 L H LH LH 当前在 ( 1 , 1 ) (1,1) (1,1) 的位置,出口在 ( n , m ) (n…

安卓应用内通信的核心-Handler

Handler Handler是安卓应用内通信的核心。 Handler相关的类简介 Handler机制整体可以看作一个传送带。 Looper 传送带的轮子。Handler 传送带上货物的入口和出口。Message 传送带上的货物。MessageQueue 传送带的皮带。 基础知识 一个Thread只有一个Looper,一…

滑动窗口2

1. 水果成篮(904) 题目描述: 算法原理: 根据题目意思,friuts表示第i棵树上的水果种类,然后我们有两个篮子去在这些树上去采水果,但是有限制就是一个篮子里就只能装一种水果,也就是…

矩阵运算在数据分析中的应用

矩阵运算在数据分析中的应用 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 矩阵运算作为数学和计算机科学中的重要概念,在数据分析和科学计算中发…

elasticsearch源码分析-03选举集群状态

选举集群状态 es中存储的数据有一下几种,state元数据、lucene索引文件、translog事务日志 元数据信息可以分为: 集群层面的元信息-对应着metaData数据结构,主要是clusterUUid、settings、templates等索引层面的元信息-对应着indexMetaData数…

RK35x8通过TFTP下载内核到开发板

对于有网线接口的RK35X8开发板,调试时候,可以通过网线下载内核镜像和设备树到开发板,不用每次修改驱动都要重新打开下载工具,进入下载模式。通过TFTP可以大大提高调试效率。 在ubuntu安装TFTP服务 安装tftp服务器 sudo apt-get…

【面试系列】前端开发工程师高频面试题及详细解答

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…

Python商务数据分析知识专栏(二)——Python数据分析基础

Python商务数据分析知识专栏(二)——Python数据分析基础 一、Python数据分析概述二、Numpy数值计算基础专栏二(Python数据分析基础)的总结 与 专栏三(Python数据分析的应用)开端 一、Python数据分析概述 二…

【笔记】Spring Cloud Gateway 实现 gRPC 代理

Spring Cloud Gateway 在 3.1.x 版本中增加了针对 gRPC 的网关代理功能支持,本片文章描述一下如何实现相关支持.本文主要基于 Spring Cloud Gateway 的 官方文档 进行一个实践练习。有兴趣的可以翻看官方文档。 由于 Grpc 是基于 HTTP2 协议进行传输的,因此 Srping …

深度学习之Transformer模型的Vision Transformer(ViT)和Swin Transformer

Transformer 模型最初由 Vaswani 等人在 2017 年提出,是一种基于自注意力机制的深度学习模型。它在自然语言处理(NLP)领域取得了巨大成功,并且也逐渐被应用到计算机视觉任务中。以下是两种在计算机视觉领域中非常重要的 Transformer 模型:Vision Transformer(ViT)和 Swi…

git 个人常见错误备注

问题1:all conflict fixed but you are still merging。。。。。 如果你已经解决了所有冲突,但 Git 仍然提示你正在进行合并,可能是因为你还没有完成合并过程。以下是详细步骤,确保你正确完成合并并提交更改: 确认所…

Tongsuo(铜锁)项目介绍 - 实现国密SSL协议

文章介绍 铜锁(Tongsuo)是一个提供现代密码学算法和安全通信协议的开源基础密码库,为存储、网络、密钥管理、隐私计算、区块链等诸多业务场景提供底层的密码学基础能力,实现数据在传输、使用、存储等过程中的私密性、完整性和可认证性,为数据生命周期中的隐私和安全提供保…