SpringBoot开发(四)SpringBoot配置文件

1. SpringBoot配置文件

1.1. 配置端口号和路径

  (1)在application.properties文件下配置端口号和路径。

server.port: 8081
server.servlet.context-path=/demo

在这里插入图片描述
  (2)运行访问。
在这里插入图片描述

1.2. 自定义配置

1.2.1. 方式一

  (1)在application.properties文件下添加配置。

wechat.appid: wx7874d0c23d07e2aa
wechat.token: education
wechat.appSecret: e03f5ab03906d4d943675c233d4c3cb3

在这里插入图片描述

  (2)创建config文件夹和WeChat实体类

package com.zzs.szyj.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@ConfigurationProperties("wechat")
@Component
public class WeChat {private String appId;private String token;private String appSecret;private String port;public String getPort() {return port;}public void setPort(String port) {this.port = port;}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 getAppSecret() {return appSecret;}public void setAppSecret(String appSecret) {this.appSecret = appSecret;}
}

在这里插入图片描述
  (3)在HelloController编写新接口

package com.zzs.szyj;import com.zzs.szyj.config.WeChat;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
// @Controller + @ResponseBody
public class HelloController {@Resource//@Autowiredprivate WeChat weChat;@RequestMapping("/hello")public String hello() {return "hello Spring Boot";}@GetMapping("/getWeChat")public WeChat getWeChat() {return weChat;}
}

在这里插入图片描述
  (4)重启服务
在这里插入图片描述
  (5)访问接口在这里插入图片描述

1.2.2. 方式二

  (1)创建config文件夹和WeChatConfig类
在这里插入图片描述

@Configuration // 标识这是一个配置类
public class WeChatConfig {@Bean@ConfigurationProperties("wechat")public WeChat weChat() {return new WeChat();}}

  (2)重启服务,访问接口
在这里插入图片描述

1.2.3. 方式三

  (1)修改HelloController类
在这里插入图片描述

package com.zzs.szyj;
import com.zzs.szyj.config.WeChat;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
// @Controller + @ResponseBody
public class HelloController {//    @Resource
//    //@Autowired
//    private WeChat weChat;@Value("${wechat.appId}")private String appId;@Value("${wechat.token}")private String token;@Value("${wechat.appSecret}")private String appSecret;@GetMapping("/getWeChat1")public WeChat getWeChat() {WeChat weChat = new WeChat();weChat.setAppId(appId);weChat.setAppSecret(appSecret);weChat.setToken(token);return weChat;}@RequestMapping("/hello")public String hello() {return "hello Spring Boot";}//    @GetMapping("/getWeChat")
//    public WeChat getWeChat() {
//        return weChat;
//    }}

  (2)重启服务,访问接口
在这里插入图片描述

1.2.1. 方式四

  @PropertySource
  (1)新建my.properties
在这里插入图片描述

wechat1.appId=wx7874d0c23d07e2aa
wechat1.token=51zxw
wechat1.appSecret=e03f5ab03906d4d943675c233d4c3cb3

  (2)新建MyWeChat类
在这里插入图片描述

package com.zzs.szyj.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@PropertySource("my.properties")
@ConfigurationProperties("wechat1")
@Component
public class MyWeChat {private String appId;private String token;private String appSecret;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 getAppSecret() {return appSecret;}public void setAppSecret(String appSecret) {this.appSecret = appSecret;}
}

  (3)修改HelloController类
在这里插入图片描述

package com.zzs.szyj;
import com.zzs.szyj.config.WeChat;
import jakarta.annotation.Resource;
import org.springframework.context.ApplicationContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
// @Controller + @ResponseBody
public class HelloController {//    @Resource
//    //@Autowired
//    private WeChat weChat;@Value("${wechat.appId}")private String appId;@Value("${wechat.token}")private String token;@Value("${wechat.appSecret}")private String appSecret;@Value("${wechat.port}")private String wechatPost;@Resourceprivate ApplicationContext applicationContext;@GetMapping("/getWeChat2")public WeChat getWeChat2() {Environment environment = applicationContext.getEnvironment();String appId = environment.getProperty("wechat.appId");String token = environment.getProperty("wechat.token");String appSecret = environment.getProperty("wechat.appSecret");WeChat weChat = new WeChat();weChat.setAppId(appId);weChat.setPort(wechatPost);weChat.setToken(token);weChat.setAppSecret(appSecret);return weChat;}@GetMapping("/getWeChat1")public WeChat getWeChat() {WeChat weChat = new WeChat();weChat.setAppId(appId);weChat.setAppSecret(appSecret);weChat.setToken(token);return weChat;}@RequestMapping("/hello")public String hello() {return "hello Spring Boot";}//    @GetMapping("/getWeChat")
//    public WeChat getWeChat() {
//        return weChat;
//    }}

  (2)重启服务,访问接口
在这里插入图片描述

1.3. application.yml

  (1)新建application.yml
在这里插入图片描述

server:port: 8082
wechat:appId: wx7874d0c23d07e2aatoken: 51zxwappSecret: e03f5ab03906d4d943675c233d4c3cb3

  (2)重启服务,访问接口
在这里插入图片描述

1.4. SpringBoot多环境配置

在这里插入图片描述
在这里插入图片描述

1.4.1. 修改application.yml

在这里插入图片描述

server:port: 8082
wechat:appId: wx7874d0c23d07e2aatoken: 51zxwappSecret: e03f5ab03906d4d943675c233d4c3cb3port: ${server.port}

在这里插入图片描述

1.4.2. 多环境配置

  (1)新建application-dev.yml、application-local.yml、application-pre.yml、application-prod.yml、application-test.yml
在这里插入图片描述
  (2) 修改application.yml
在这里插入图片描述

wechat:appId: wx7874d0c23d07e2aatoken: 51zxwappSecret: e03f5ab03906d4d943675c233d4c3cb3port: ${server.port}
spring:profiles:active: local

  (3) 运行
在这里插入图片描述

1.4.3. 多环境配置注入url

  (1)多环境配置文件注入url
在这里插入图片描述
在这里插入图片描述
  (2)添加链接
在这里插入图片描述
  (2)运行
在这里插入图片描述

  SpringBoot配置文件、配置示例下载

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

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

相关文章

win32汇编环境,窗口程序中自定义工具栏的使用示例

;运行效果 ;win32汇编环境,窗口程序中自定义工具栏的使用示例 ;工具栏一般放在菜单下面,相当于一个个小的对话框,当然你放在其它地方也可以。 ;原理是,创建一张BMP位图,比如下例用一张168*24的图,平均分成7部分&#x…

机器学习专业毕设选题推荐合集 人工智能

目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光,一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整理…

备考蓝桥杯嵌入式4:使用LCD显示我们捕捉的PWM波

上一篇博客我们提到了定时器产生PWM波,现在,我们尝试的想要捕获我们的PWM波,测量它的频率,我们应该怎么做呢?答案还是回到我们的定时器上。 我们知道,定时器是一个高级的秒表(参考笔者的比喻&a…

ArrayList 扩容机制的源码剖析

在 Java 编程中,ArrayList是一个常用的集合类,它实现了List接口,底层基于数组实现。与普通定长数组不同,ArrayList能够根据元素的添加情况动态调整数组的大小,这就是其扩容机制。下面我们将深入剖析ArrayList扩容机制的…

The specified Gradle distribution ‘gradle-bin.zip‘ does not exist.

The specified Gradle distribution ‘https://services.gradle.org/distributions/gradle-bin.zip’ does not exist. distributionUrl不存在,关联不上,下载不了,那就匹配一个能下载的 distributionUrlhttps://services.gradle.org/distrib…

从零开始实现一个双向循环链表:C语言实战

文章目录 1链表的再次介绍2为什么选择双向循环链表?3代码实现:从初始化到销毁1. 定义链表节点2. 初始化链表3. 插入和删除节点4. 链表的其他操作5. 打印链表和判断链表是否为空6. 销毁链表 4测试代码5链表种类介绍6链表与顺序表的区别7存储金字塔L0: 寄存…

Cesium点集中获取点的id,使用viewer.value.entities.getById报错的解决方法

错误代码: viewer.value.entities.getById(pickedObject.id) 报错: 可以正常获取movement.position但是一直出现如下报错,无法获得航点的id,通过断点定位为 viewer.value.entities.getById(pickedObject.id)导致的报错 解决方…

ARM Linux Qt使用JSON-RPC实现前后台分离

文章目录 1、前言2、解决方案2.1、JSON-RPC2.2、Qt中应用JSON-RPC的框架图2.3、优点2.4、JSON-RPC 1.0 协议规范 3、程序示例3.1、Linux C(只例举RPC Server相关程序)3.2、Qt程序(只例举RPC Client相关程序) 4、编译程序4.1、交叉…

教程 | i.MX RT1180 ECAT_digital_io DEMO 搭建(一)

本文介绍 i.MX RT1180 EtherCAT digital io DEMO 搭建,Master 使用 TwinCAT ,由于步骤较多,分为上下两篇,本文为第一篇,主要介绍使用 TwinCAT 控制前的一些准备。 原厂 SDK 提供了 evkmimxrt1180_ecat_examples_digit…

ubuntu22.40安装及配置静态ip解决重启后配置失效

遇到这种错误,断网安装即可! 在Ubuntu中配置静态IP地址的步骤如下。根据你使用的Ubuntu版本(如 Netplan 或传统的 ifupdown),配置方法有所不同。以下是基于 Netplan 的配置方法(适用于Ubuntu 17.10及更高版…

【产品经理学习案例——AI翻译棒出海业务】

前言: 本文主要讲述了硬件产品在出海过程中,翻译质量、翻译速度和本地化落地策略是硬件产品规划需要考虑的核心因素。针对不同国家,需要优化翻译质量和算法,关注市场需求和文化差异,以便更好地满足当地用户的需求。同…

CH340G上传程序到ESP8266-01(S)模块

文章目录 概要ESP8266模块外形尺寸模块原理图模块引脚功能 CH340G模块外形及其引脚模块引脚功能USB TO TTL引脚 程序上传接线Arduino IDE 安装ESP8266开发板Arduino IDE 开发板上传失败上传成功 正常工作 概要 使用USB TO TTL(CH340G)将Arduino将程序上传…

AI推理性能之王-Groq公司开发的LPU芯片

Groq公司开发的LPU(Language Processing Unit,语言处理单元)芯片是一种专为加速大规模语言模型(LLM)和其他自然语言处理任务而设计的新型AI处理器。以下是对其技术特点、性能优势及市场影响的深度介绍: 技…

rk3506 sd卡启动

1 修改系统配置文件,打开ext4 #SDMMC RK_ROOTFS_TYPE"ext4" RK_ROOTFS_INSTALL_MODULESy RK_WIFIBT_CHIP"AIC8800" # RK_ROOTFS_LOG_GUARDIAN is not set RK_UBOOT_CFG_FRAGMENTS"rk3506_tb" RK_UBOOT_SPLy RK_KERNEL_CFG"rk3506_defconfi…

Docker 安装详细教程(适用于CentOS 7 系统)

目录 步骤如下: 1. 卸载旧版 Docker 2. 配置 Docker 的 YUM 仓库 3. 安装 Docker 4. 启动 Docker 并验证安装 5. 配置 Docker 镜像加速 总结 前言 Docker 分为 CE 和 EE 两大版本。CE即社区版(免费,支持周期7个月)&#xf…

【玩转 Postman 接口测试与开发2_017】第13章:在 Postman 中实现契约测试(Contract Testing)与 API 接口验证(下)

《API Testing and Development with Postman》最新第二版封面 文章目录 第十三章 契约测试与 API 接口验证8 导入官方契约测试集合9 契约测试集合的详细配置9.1 env-apiKey 的创建与设置9.2 env-workspaceId 的设置9.3 Mock 服务器及 env-server 的配置9.4 API 测试实例的配置…

使用DeepSeek R1 + 了解部署

官网注册 R1模型,推理模型 参考视频理解 理解大语言模型的本质 大模型在训练时是将内容token化的大模型知识是存在截止时间的大模型缺乏自我认知、自我意识记忆有限输出长度有限 智商理解,例如下面的DeepSeek的测试: 用DeepSeek 官网手…

2024年12月 Scratch 图形化(三级)真题解析 中国电子学会全国青少年软件编程等级考试

202412 Scratch 图形化(三级)真题解析 中国电子学会全国青少年软件编程等级考试 一、选择题(共18题,共50分) 第 1 题 气温和对应的穿衣建议如下表所示,下列选项能正确给出穿衣建议的是?( ) A. …

Gauss高斯:建表语法,存储方式,OLTP和OLAP,系统时间,数组,分组(grouping set,rollup)

数据库和表的语法 数据库 表 oracle,高斯, hive的默认存储方式都是列式存储 存储方式 高斯数据库(GaussDB)支持列式存储和行式存储 OLTP 与 OLAP OLTP(联机事务处理,Online Transaction Processing)是一种用于管理…

数据中心服务器对PCIe测试的需求、挑战和应用

人工智能和机器学习技术的迅猛发展,尤其是大语言模型(LLM)的兴起,对计算资源和数据传输速度提出了更高的要求,从而激发了对更高带宽解决方案的迫切需求。PCIe作为数据中心服务器间互联的主力军,承担着高速数…