SpringBoot(二)SpringBoot多环境配置

news2024/11/25 0:40:18

Spring框架常用注解简单介绍
SpringMVC常用注解简单介绍
SpringBoot(一)创建一个简单的SpringBoot工程
SpringBoot(二)SpringBoot多环境配置
SpringBoot(三)SpringBoot整合MyBatis
SpringBoot(四)SpringBoot整合 Redis

SpringBoot配置文件介绍

SpringBoot的配置文件用于配置SpringBoot程序,有两种格式的配置文件:

  1. .properties文件
  2. .yml文件
创建application.properties配置文件
.properties配置文件
# 设置端口号
server.port=8080
# 设置服务名称
spring.application.name=service-product

# 设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称
spring.server.context-path=/springbootdemo
server.servlet.context-path=/springbootdemo

启动工程,然后打开浏览器输入:http://localhost:8080/springbootdemo/product/12

SpringBoot多环境配置

我们可以指定SpringBoot的激活配置文件。如果主配置文件中指定了激活的配置文件,那么即使在主配置文件中指定了配置信息,还是优先使用激活文件中的配置信息,如果激活文件中没有,就去主配置文件中去查找。

我们先创建多个环境的配置文件
配置文件
  1. application-dev.properties
server.port=8081
spring.application.name=service-product

spring.server.context-path=/springbootdemo
server.servlet.context-path=/springbootdemo
  1. application-test.properties
server.port=8082
spring.application.name=service-product

spring.server.context-path=/springbootdemo
server.servlet.context-path=/springbootdemo
  1. application-pro.properties
server.port=8088
spring.application.name=service-product

spring.server.context-path=/springbootdemo
server.servlet.context-path=/springbootdemo
  1. 修改application.properties,指定激活的配置文件
## 设置端口号
#server.port=8080
## 设置服务名称
#spring.application.name=service-product
#
## 设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称
#spring.server.context-path=/springbootdemo
#server.servlet.context-path=/springbootdemo

#指定激活的配置文件
spring.profiles.active=dev

打开浏览器输入:http://localhost:8081/springbootdemo/product/12(此时访问的是dev环境,端口变成了8081)

SpringBoot自定义配置

我们可以再SpringBoot配置文件中添加一些自定义配置,然后通过@Value读取配置的属性值。

## 设置端口号
#server.port=8080
## 设置服务名称
#spring.application.name=service-product
#
## 设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称
#spring.server.context-path=/springbootdemo
#server.servlet.context-path=/springbootdemo

#指定激活的配置文件
spring.profiles.active=dev

#自定义配置
product.name=SpringBootDemo

使用@Value在Dao中读取自定义配置的属性值

@Repository
public class ProductDao {

    @Value("${product.name}")
    private String name;

    public Product getProductById(String id) {
        Product product = new Product();
        product.setId(id);
        product.setName(name);
        product.setPrice(13.6);
        return product;
    }

}

启动工程,然后打开浏览器输入:http://localhost:8081/springbootdemo/product/12
接口返回:

{
"id": "12",
"name": "SpringBootDemo",
"price": 13.6
}
最后编辑于:2020-08-19 16:27


喜欢的朋友记得点赞、收藏、关注哦!!!

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

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

相关文章

met和set的特性及区别

1、关联式容器 在c初阶阶段,我们已经接触了STL的部分容器,比如:vector,list,deque,forward_list等。 这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的就是数据本身。 而关联式容器…

[论文阅读笔记32] Object-Centric Multiple Object Tracking (ICCV2023)

最近Object centric learning比较火, 其借助了心理学的概念, 旨在将注意力集中在图像或视频中的独立对象(objects)上,而不是整个图像。这个方法与传统的基于像素或区域的方法有所不同,它试图通过识别和分离图像中的各个对象来进行…

详细的介绍匀加速运动的物理方程是如何转化为卡尔曼滤波的状态空间模型的

详细的介绍匀加速运动的物理方程是如何转化为卡尔曼滤波的状态空间模型的 flyfish 加速度是描述物体速度变化快慢的物理量,定义为速度对时间的变化率。数学上,它表示为: a Δ v Δ t a \frac{\Delta v}{\Delta t} aΔtΔv​ 其中&#xf…

[图解]SysML和EA建模住宅安全系统-02-现有运营领域-块定义图

1 00:00:00,840 --> 00:00:02,440 首先我们来看画在哪里 2 00:00:02,570 --> 00:00:08,310 你看,这是图的类型,图里面内容 3 00:00:08,320 --> 00:00:10,780 这是元素类型 4 00:00:10,790 --> 00:00:14,900 这是位置,哪个包 …

中国计量大学2024年成人高等继续教育招生简章

中国计量大学,作为一所享有盛誉的高等学府,始终秉持着“精益求精,追求卓越”的办学理念,致力于为社会培养各类优秀人才。在2024年,我校继续秉承这一传统,全面启动成人高等继续教育招生工作,为广…

KVB App:金价看涨动能不足,关注美国PCE数据

当前市场状况 截至2024年6月28日,现货黄金价格震荡走弱,一度失守2320美元/盎司关口,目前交投于2322.65美元/盎司附近。KVB首席分析师Valeria Bednarik指出,黄金价格目前缺乏看涨动能,市场焦点转向美国个人消费支出(PC…

python中pip换源

目录 1. 背景2. Python 的 pip 换源2.1 临时换源(命令行中使用参数)2.2 永久换源(修改配置文件)2.2.1 Windows系统2.2.2 Linux/macOS系统 2.3 使用 pip-config 命令换源(Linux/macOS 特定) 3. 常用的 PyPI …

嵌入式Linux系统编程 — 4.7 regcomp、regexec、regfree正则表达式函数

目录 1 为什么需要正则表达式 2 正则表达式简介 3 正则表达式规则 4 regcomp、regexec、regfree函数 4.1 函数介绍 4.2 URL格式案例 1 为什么需要正则表达式 在许多的应用程序当中, 有这样的应用场景: 给定一个字符串,检查该字符串是否…

数字信号处理实验三(IIR数字滤波器设计)

IIR数字滤波器设计(2学时) 要求: 产生一复合信号序列,该序列包含幅度相同的28Hz、50Hz、100Hz、150Hz的单音(单频)信号;其中,50Hz及其谐波为工频干扰(注:采样…

Git与GitLab的企业实战--尚硅谷git课程

Git与GitLab的企业实战 第1章 Git概述 Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性…

揭秘系统架构:从零开始,探索技术世界的无限可能

文章目录 引言一、系统架构的基本概念二、系统架构的设计原则模块化可扩展性高可用性安全性 三、常见的系统架构模式1. **分层架构(Layered Architecture)**:2. **微服务架构(Microservices Architecture)**&#xff1…

微信视频号里面的视频怎么下载,分享4个视频号视频下载方法!可长期使用

如何在微信视频号里下载视频,虽然互联网上微信视频号视频下载方法千千万,奈何总有一些方法不起任何作用. 如何解决这一问题,今天就分享3个可以下载微信视频号的视频方法仅供参考。 1:提取器助手 手机搜索提取器助收/扫码获取视频号下载小助手二维码。该…

G882磁力仪拖鱼位置是如何计算的?

根据参考文献,磁力仪拖鱼位置计算有两种方法: 1、直线法 直线计算法是假设不考虑海流、船摆等动态因素的影响,拖鱼与拖点始终和航向相同,即整个拖拽系统与船舶是刚性连接。 2、曲线法 实际海洋磁力测量中,在海风、海…

6.24.4.2 YOLO- logo:一种基于变压器的YOLO分割模型,用于数字乳房x光片中乳腺肿块的检测和分割

背景与目的:数字化乳房x光片的肿块检测和分割在乳腺癌的早期发现和治疗中起着至关重要的作用。此外,临床经验表明,它们是乳腺病变病理分类的上游任务。深度学习的最新进展使分析更快、更准确。本研究旨在开发一种用于乳房x线摄影的乳腺癌质量检测和分割的…

柯桥在职学历提升|专科本科之自考本科哪些专业不考数学

一、管理类专业 这类专业综合性和理论性比较强,除了涉及到管理学相关的理论知识外,还有相应的专业知识,目前比较典型的专业有:行政管理、人力资源管理、工商管理(现代企业管理)、工商管理(商务管…

【websocket】websocket网课视频记录

仅个人方便回顾。 【WebSocket入门与案例实战-哔哩哔哩】 https://b23.tv/2p1f9t2 课程对应代码仓库: https://gitee.com/duoli-java/websocket-demo.git

SpringBoot防抖方案(防止表单重复提交)

SpringBoot防抖方案(防止表单重复提交) 1.应用场景(什么是防抖) 所谓防抖,一是防用户手抖,二是防网络抖动。在Web系统中,表单提交是一个非常常见的功能,如果不加控制,容…

Selenium IDE 的使用指南

Selenium IDE 的使用指南 在自动化测试的领域中,Selenium 是一个广为人知且强大的工具集。而 Selenium IDE 作为其中的一个组件,为测试人员提供了一种便捷且直观的方式来创建和执行自动化测试脚本。 一、Selenium IDE 简介 Selenium IDE 是一个用于录…

GRS认证流程是什么?

GRS认证的认证流程主要包括以下几个步骤: 1. 提交申请 首先,企业需要向GRS认证机构提交认证申请,并提供相关的企业信息和产品信息。这通常包括企业的基本信息、生产工厂信息、产品范围、生产流程等。 2. 合同评审 认证机构会对企业提交的…

基于java语言+springboot技术架构开发的 互联网智能3D导诊系统源码支持微信小程序、APP 医院AI智能导诊系统源码

基于java语言springboot技术架构开发的 互联网智能3D导诊系统源码支持微信小程序、APP 医院AI智能导诊系统源码 一、智慧导诊系统开发原理 导诊系统从原理上大致可分为基于规则模板和基于数据模型两类。 1、基于规则推理的方法通过人工建立症状、疾病和科室之间的对应规则实现…