SpringBoot注解配置文件映射属性和实体类
配置文件加载
方式一
- Controller上面配置@PropertySource({"classpath:pay.properties"})
- 添加属性@Value("wxpay.appid") private String payAppid;
pay.properties
# 微信支付的appid
wxpay.appid=w23232323
# 支付密钥
wxpay.sercret=abd
# 微信支付商户号
wx.mechid=1234
TestController.java
package net.cyb.demo.controller; import net.cyb.demo.utils.JsonData;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.HashMap;
import java.util.Map; @RestController
@RequestMapping("/api/v1/test")
@PropertySource({"classpath:pay.properties"})
public class TestController {
@Value("wxpay.appid")
private String payAppid;
@Value("wxpay.sercret")
private String paySecret;
@GetMapping("get_config")
public JsonData testConfig(){
Map<String,String> map=new HashMap<>();
map.put("appid",payAppid);
map.put("secret",paySecret);
return JsonData.buildSuccess(map);
}
}
方式二
- 添加@Component注解
- 使用PropertySource注解指定配置文件位置
- 使用@ConfigurationProperties注解,设置相关属性
- 必须通过注入IOC对象Resource进来,才能在类中使用获取的配置文件值。@Autowired private WXConfig wxConfig;
pay.properties
# 微信支付的appid
wxpay.appid=w23232323
# 支付密钥
wxpay.sercret=abd
# 微信支付商户号
wx.mechid=1234
WXConfig.java
package net.cyb.demo.config; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import java.io.Serializable; @Configuration
@PropertySource({"classpath:pay.properties"})
public class WXConfig implements Serializable {
@Value("wxpay.appid")
private String payAppid;
@Value("wxpay.sercret")
private String paySecret;
@Value("wx.mechid")
private String payMechId; public String getPayAppid() {
return payAppid;
} public void setPayAppid(String payAppid) {
this.payAppid = payAppid;
} public String getPaySecret() {
return paySecret;
} public void setPaySecret(String paySecret) {
this.paySecret = paySecret;
} public String getPayMechId() {
return payMechId;
} public void setPayMechId(String payMechId) {
this.payMechId = payMechId;
}
}
TestController.java
package net.cyb.demo.controller; import net.cyb.demo.config.WXConfig;
import net.cyb.demo.utils.JsonData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.HashMap;
import java.util.Map; @RestController
@RequestMapping("/api/v1/test")
public class TestController {
@Autowired
private WXConfig wxConfig;
@GetMapping("get_config")
public JsonData testConfig(){
Map<String,String> map=new HashMap<>();
map.put("appid",wxConfig.getPayAppid());
map.put("secret",wxConfig.getPaySecret());
map.put("mechid",wxConfig.getPayMechId());
return JsonData.buildSuccess(map);
}
}
SpringBoot注解配置文件映射属性和实体类的更多相关文章
- SpringBoot JPA查询映射到自定义实体类
和 SegmentFault上的文章(https://segmentfault.com/a/1190000021869465)一样, 都是俺账号 场景 举一个简单的栗子: 比如有一个User实体类 @ ...
- SpringBoot注解把配置文件自动映射到属性和实体类实战
SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1.配置文件加载 方式一 1.Controller上面配置 @Propert ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-7.接口配置文件自动映射到属性和实体类配置
笔记 7.接口配置文件自动映射到属性和实体类配置 简介:使用@value注解配置文件自动映射到属性和实体类 1.添加 @Component或者Configuration 注解: ...
- 生成 hibernate 映射文件和实体类
创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 创建数据库,创建 ...
- SpringBoot配置文件自动映射到属性和实体类(8)
一.配置文件加载 1.Controller中配置并指向文件 @Controller @PropertySource(value = { "application.properties&quo ...
- SpringBoot------注解把配置文件自动映射到属性和实体类
1.映射到属性 package top.ytheng.demo.controller; import org.springframework.beans.factory.annotation.Valu ...
- 通过JPA注解映射视图的实体类 jpa 视图 无主键 @Query注解的用法(Spring Data JPA) jpa 使用sql语句
参考: https://blog.csdn.net/qq465235530/article/details/68064074 https://www.cnblogs.com/zj0208/p/6008 ...
- 用MyEclipse自动生成hibernate映射文件和实体类
创建数据库,创建相应的表 点击图标,选择MyEclipse Datebase Explorer 右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示你所创建的连接名,如图mysqldb ...
- mybatis中映射文件和实体类的关联性
mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间.维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~ ...
- mybatis 接口中定义方法、映射文件、实体类之间的关系?
一.定义实体类 ,注意需求 是一对多还是多对一. 这里用员工和部门 多对一的关系举例. package com.zs.entity; /* * /* * 多对一? * 多个员工 对应一个部门 一个 ...
随机推荐
- web页面打开直接调用vlc播放视频
简介 大家都知道现在我们在网页所播放的视频都是h264编码格式,可以供所有设备正常播放.然而,相比h265它的体积更大.质量更差.目前h265大多应用于安防,体积小可以更好的存储,不过它也有着缺点,成 ...
- windows server2012 挂载linux的nfs共享目录
1.安装NFS客户端 首先win-server上添加角色-----选择文件服务-----网络文件系统(或者NFS客户端)-安装 2.挂载nfs目录 先cmd检查服务端的共享目录 然后执行:showmo ...
- 防止XSS(跨站脚本攻击)漏洞
点击查看代码 - 输入验证和过滤:对于用户输入的数据,进行严格的验证和过滤.可以使用正则表达式或其他验证方式,确保输入的数据符合预期的格式和内容.同时,对于特殊字符进行转义处理,防止恶意代码的注入. ...
- 撤销 git commit
目录 文章目录 目录 场景1:撤回 commit,不撤销 git add .,保留代码 场景2:撤回 commit,撤销 git add .,保留代码 场景3:撤销 commit,撤销 git add ...
- pageOffice控件实现在线编辑Word 只能加批注的功能
OA办公中,业务需要编辑打开word文档后 文档的正文不能改变,只能对文档进行加批注的操作 怎么实现编辑打开word文档后 文档的正文不能改变,只能对文档进行加批注的操作呢? # 1.实现方法 通过p ...
- 基于 ESP8266_RTOS_SDK 实现声控灯
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdint.h&g ...
- RocketMQ的单节点环境搭建
1 介绍RocketMQ作为一款纯java.分布式.队列模型的开源消息中间件,支持事务消息.顺序消息.批量消息.定时消息.消息回溯等. 1.1 RocketMQ 特点支持发布/订阅(Pub/Sub)和 ...
- 史上最全shell脚本编程语法上册
1. shell 脚本语言的基本用法 1.1 shell 脚本的用途 将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率: 减少手工命令的输入,一定程度上避免人为错误: 将软件或应用的安装及 ...
- Android 12(S) ALooper AHandler AMessage(一)
卧榻之侧岂容他人酣睡,到现在ALooper AHandler AMessage的工作原理一直都没搞懂,很慌!看他们的路径都在libstagefright/foundation下,作为一个foundat ...
- 008. gitlab代码克隆与推送
推送配置 gitlab需要推送的客户端sshkey添加到gitlab服务器中 node1 推送配置 centos node1: [root@node1 ~]# cat ~/.ssh/id_rsa.pu ...