SpringBoot3-基础配置和多环境开发

news2024/12/21 18:42:27

1. 配置文件格式

在这里插入图片描述

提供三种属性配置方式,当三个配置文件都有,加载顺序从前至后

在这里插入图片描述

示例第二种(主要也是用这个):

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

2. yaml格式

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

3. yaml读取数据格式的三种方式

在这里插入图片描述

第一种,使用@Value读取单一属性数据

@Value("${lesson}")
private String lesson;
@Value("${server.port}")
private Integer port;
@Value("${enterprise.subject[0]}")
private String subject_00;

第二种,使用Environment封装全配置数据

//使用Environment封装全配置数据
@Autowired
private Environment environment;


System.out.println(environment.getProperty("lesson"));
System.out.println(environment.getProperty("server.port"));
System.out.println(environment.getProperty("enterprise.age"));
System.out.println(environment.getProperty("enterprise.subject[1]"));

第三种,创建一个实体类enterprise

//封装yaml对象格式数据必须先声明当前实体类受Spring管控
@Component
//使用@ConfigurationProperties注解定义当前实体类读取配置属性信息,通过prefix属性设置读取哪个数据
@ConfigurationProperties(prefix = "enterprise")
public class Enterprise {
    private String name;
    private Integer age;
    private String tel;
    private String[] subject;

    @Override
    public String toString() {
        return "Enterprise{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", tel='" + tel + '\'' +
                ", subject=" + Arrays.toString(subject) +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String[] getSubject() {
        return subject;
    }

    public void setSubject(String[] subject) {
        this.subject = subject;
    }
}
@Autowired
private Enterprise enterprise;


System.out.println(enterprise);

4. 多环境开发配置

方便在生产环境、开发环境和测试环境切换环境;
选择yml配置方式;

#设置启用的环境
spring:
  profiles:
    active: dev

---
#开发
spring:
  config:
    activate:
      on-profile: dev
server:
  port: 80
---
#生产
spring:
  config:
    activate:
      on-profile: pro
server:
  port: 81
---
#测试
spring:
  config:
    activate:
      on-profile: test
server:
  port: 82
---

5. 多环境启动命令格式

将项目打包之后的jar包发给其他人员时(测试),启动命令格式;
命令行中动boot程序;

在这里插入图片描述

此时80端口改成了82端口

在这里插入图片描述

当测试端需要修改端口号(例如:测试端的端口号有冲突);
只需要在命令行中执行;

在这里插入图片描述

6. 多环境开发兼容问题

Maven与boot配置多环境配置时,Maven中配置的profile起主导作用;

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

7. 配置文件分类

在这里插入图片描述

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

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

相关文章

基于redis实现消息队列(更推荐使用专业的mq)

目录 利用redis实现消息队列(基于list,点对点模型)——lpush存放队列(lpush 队列名 队列内容(可一次存放多个内容,用空格隔开)) brpop取队列(brpop 队列名 等待时间单位秒…

机器视觉日常习题(更新中。。。)

目录 第二讲 图像处理概述 第二讲 图像处理概述 几何变换:又称为图像空间变换,它将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置。图像分割:把图像分成各具特色的区域并提取感兴趣目标的技术和过程。图像边缘: 平滑&#…

【深入浅出 Spring Security(六)】一文搞懂密码的加密和比对

Spring Security 中的密码加密 一、PasswordEncoder 详解常见的实现类(了解)DelegatingPasswordEncoder源码分析DelegatingPasswordEncoder 在哪实例化的? 二、自定义加密自定义方式一:使用{id}的形式自定义方式二:向S…

程序员失业转行送外卖,晒出当天收入,还以为看错了!

在程序员的共识中,30岁之前自己是很受企业欢迎的,有经验有技术,能够为公司创造足够多的价值。 但是一旦超过了35岁,如果没有做到架构师或者成为管理人员,那很可能是连工作都找不到的。而且这个年龄的程序员还要面临着…

700MHz设备对广播电视信号的干扰有哪些?

700MHz,由于其较长的波长,良好的传播与覆盖特性,不仅一直被多国用作广播电视信号频率,4G LTE和5G NR也同样看好这一频段,并在此频段上进行了相应的部署和规划。目前已经有超过45个国家和地区,将700MHz频段部…

【网络安全】企业应急响应基础技能

windows 任务计划列表 1. 计算机管理窗口,选择 系统工具 中 任务计划程序 中的 任务计划程序库选项 可以查看任务计划的名称,状态,触发器等详细信息 2.powershell中输入get-scheduledtask 可以查看当前系统所有任务计划信息 任务路径,名称,状态等详细信息 3.命令行中输入s…

C++11:右值引用,实现移动语义和完美转发

目录 1、右值引用 2、移动语义(std::move) 3、完美转发(std::forward) 1、右值引用 右值引用(Rvalue reference)是C11引入的一个新特性,它是一种新的引用类型,用于表示将要被移动…

5个小时,搭出2套应用,这一低代码平台很强劲!

现代管理学之父德鲁克提及创新本质时,说了两点: 一是让昂贵的东西变得便宜,老百姓能用;二是让高门槛东西变得低门槛,普通人可用。 而低代码正符合这两个条件。 一、背景 所谓低代码,是一种软件开发方法&…

常用的LED显示屏驱动芯片和控制系统

常用的LED显示屏驱动芯片包括以下几种: TPIC6B595:这是一种串行输入、并行输出的LED显示屏驱动芯片,适用于驱动7段数码管等简单的LED显示屏。 MAX7219/MAX7221:这是一种常用的LED显示屏驱动器,可驱动8x8点阵LED显示屏。…

npm 发布新包或者新模块后,无法下载最新版本,如何解决?

目录 1、方法一:在npm官网搜索对应的模块,看看是否有最新版本的存在? 2、方法二:排查本地使用的是什么镜像? 3、方法三:将淘宝镜像切换成npm镜像 1、方法一:在npm官网搜索对应的模块&#xf…

运维小白必学篇之基础篇第十四集:DHCP中继实验

DHCP中继实验 目录 服务器端:(vmware5) 中继器端:(双网卡ens33、vmware5;ens36、vmware6) 客户端:(vmware6) 实验作业(主机名为自己的名字)&a…

WebGIS学习-01-GIS基础概念与Mapbox基础

1.地图数据来源 1.栅格数据: -.jpg,.png等图片数据; -卫星等拍摄的影像;.tiff 2.矢量数据: -geojson的数据,多用于绘制边界 -放大缩小都不会失真,且高度支持手绘 2.网页是如何渲染地图数据的 …

什么是压力测试?如何进行Jmeter压力测试

一、什么是压力测试 软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、…

深度学习-调参技巧总结

针对CNN优化的总结 使用没有 batchnorm 的 ELU 非线性或者有 batchnorm 的 ReLU。用类似1*1的网络结构预训练RGB数据, 能得到更好的效果。使用线性学习率衰退策略。使用平均和最大池化层的和。使用大约 128(0.005) 到 256 (0.01&a…

5.1 - Web漏洞 - XSS漏洞详解

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 XSS漏洞 一、什么是XSS?二、XSS概述三、靶场练习四、XSS使用步骤五、XSS攻击类…

el-table动态表头数据渲染

desc:el-table的数据是后端动态返回的,包括表头的情况下如何进行渲染 // 第一页的数据 {"code": 1,"message": "查询成功","data": {"current": 1,"size": 10,"total": 41,"…

企业如何通过CRM系统做好客户管理?

企业如何通过CRM系统做好客户管理? CRM客户管理作为一种综合性的管理思想,可以帮助我们更好地了解客户需求和行为,制定更加精准的销售和服务策略,提高客户满意度和忠诚度,从而实现可持续发展。 接下来将给大家详细介…

SQL——事务

🎈 什么是事务 💧 概念 事务是用于保证数据的一致性,它由一组相关的DML(增、删、改)语句,该组的DML语句要么全部成功,要么全部失败。使用事务可以确保数据库的一致性和完整性,避免数据出现异常…

“微商城”项目(5登录和注册)

1.我的信息 在pages\User.vue文件中编写HTML结构代码&#xff0c;示例代码如下。 <template><div class"member"><div class"header-con"><router-link :to"{ name: login }" class"mui-navigate-right">&l…

段 寄 存 器-汇编复习(5)

图解演示8086CPU CS执行过程和逻辑 段 寄 存 器 8086CPU 在访问内存时要由相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址。这里,需要看一下,是什么部件提供段地址。段地址在 8086CPU 的段寄存器中存放。8086CPU 有 4 个段存器: CS、DS、SS、ES。当80…