SpringBoot自定义application配置文件及使用

文章目录

  • 前言
  • 一、application配置文件是什么?
  • 二、使用步骤
    • 1.添加配置数据
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

Spring Boot的application配置文件


提示:以下是本篇文章正文内容,下面案例可供参考

一、application配置文件是什么?

application配置文件在Spring Boot中起着至关重要的作用,它为应用程序提供必要的配置信息。在Spring Boot启动时,会自动加载该文件,并根据其中的配置信息对应用程序进行相应的配置。

application配置文件主要有两种格式:application.properties和application.yml(或application.yaml)。尽管这两种格式的内容是一致的,但它们的语法和结构有所不同。

application.properties使用标准的键值对格式进行配置,而application.yml则使用YAML(YAML Ain’t Markup Language)语法,这种语法更易于人类阅读,尤其是在处理复杂的层次结构或数组时。

application配置文件的配置项非常广泛,包括但不限于数据库连接信息、日志配置、端口号等。这些配置项可以根据具体的应用需求进行自定义设置。

此外,application配置文件可以放在多个位置,包括外置的/config子目录里等。不同位置的配置文件具有不同的优先级,Spring Boot会按照优先级顺序加载这些配置文件,优先级高的配置会覆盖优先级低的配置。

如果需要修改已经打包成jar包的application配置文件,如application.yml,可以使用jar命令导出该文件,进行必要的修改后再重新打入jar包。

总的来说,application配置文件是Spring Boot应用程序不可或缺的一部分,它使得应用程序的配置变得更加灵活和易于管理。

二、使用步骤

1.添加配置数据

由于application.yml和application.properties两者作用一样,下面就使用yml文件进行演示
可以 自定义Spring Boot的服务器端口号:

server:port: 8099 #8099就是自定义端口号,注意前面要有个空格

定义基本类型

  username: rootpassword: 123456port: 3306flag: truetime: 2024/04/09

定义自定义javaBean

  user: #User类定义,或者{"name": “彭于晏”,"age": 18,"sex": "男"}name: 彭于晏age: 18sex:

定义set,list集合

  course: #List,Set 在元素前加-- spring- java- c

定义一个集合存放JavaBean

  userList: #List数组,用于存放User- name: 彭于晏age: 18sex:- name: 彭于晏age: 18sex:- name: 彭于晏age: 18sex:

map集合的定义

  map: #Map定义,或者{"java": 100,"sql": 99,"vue":98}java: 100sql: 99vue: 98

2.读取自定义内容
上述内容组合在一起

server:port: 8099
db:username: rootpassword: 123456port: 3306flag: truetime: 2024/04/09course: #List,Set 在元素前加-- spring- java- cuser: #User类定义,或者{"name": “彭于晏”,"age": 18,"sex": "男"}name: 彭于晏age: 18sex: 男userList: #List数组,用于存放User- name: 彭于晏age: 18sex:- name: 彭于晏age: 18sex:- name: 彭于晏age: 18sex: 男map: #Map定义,或者{"java": 100,"sql": 99,"vue":98}java: 100sql: 99vue: 98

编写Javabean用于取值

@Data
@Configuration
@ConfigurationProperties("db")   //由于yml文件中设置了一个前缀”db",所以在这里设置一下前缀,自动装配数据
public class AppConfig {String username;String password;int port;boolean flag;Date time;String[] course;User user;List<User> userList;Map map;
}

在测试类中写以下测试内容

@SpringBootTest
class SbYamlWebApplicationTests {@AutowiredAppConfig appConfig;@Testvoid contextLoads() {System.out.println();}}

在经过debug测试能够得到配置文件中的数据
在这里插入图片描述
在xxxApplication类中启动web项目,显示我们tomcat端口号为 8099,设置端口号也修改成功
在这里插入图片描述

在这里插入图片描述

注意:
在这里插入图片描述
application.yml和application.properties这俩文件可以同时存在,且properties的优先级比yml高,当两个文件中设置同一个信息时,会优先使用properties中的配置信息
如:在两文件中同时设置不同端口号
在这里插入图片描述
在这里插入图片描述
这是运行的tomcat端口号就是8999
在这里插入图片描述
在yml文件中还可以设置开发环境测试环境

spring:profiles:active: test # 激活开发环境#指定开发环境文档模块
---
spring:config:activate:on-profile: dev #指定当前模块为开发模块
server:port: 3000#测试模块配置信息
---
spring:config:activate:on-profile: test #测试文档 模块名server:port: 4000

我们只需修改active: 的值就能进行开发和测试环境之间的切换。


总结

在这里更推荐大家使用yml文件进行配置,写起来具有分层,看起更明显。

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

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

相关文章

如何在Linux系统部署Tale并实现无公网IP远程管理内网博客网站

文章目录 前言1. Tale网站搭建1.1 检查本地环境1.2 部署Tale个人博客系统1.3 启动Tale服务1.4 访问博客地址 2. Linux安装Cpolar内网穿透3. 创建Tale博客公网地址4. 使用公网地址访问Tale 前言 今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale&#xff0c;Tale…

如何在面试中胜出?接口自动化面试题安排上!

一、平常用什么工具测接口? 主流接口测试工具&#xff1a;Jmeter、PostMan、RESTClient、Fiddler、Requests库&#xff0c;不同测试环境不同需求&#xff0c;选择不同工具。 1).Jmeter&#xff1a;Java开发一款开源免费工具&#xff0c;适合接口功能测试、接口自动化测试、…

app证书在设置在哪

根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》&#xff0c;相信不少要进行IOS平台App备案的朋友遇到了一个问题&#xff0c;就是apple不提供云管理式证书的下载&#xff0c;也就无法获取公钥及证书SHA-1指纹。 已经上架的应用不想重…

如何实现对空调状态监测的监控

随着科技的飞速发展和人们生活水平的持续提高&#xff0c;空调已经成为现代家庭和办公环境中不可或缺的一部分。然而&#xff0c;传统的空调使用方式往往存在能效低下、操作不便等问题。为了解决这些问题&#xff0c;智能空调控制器应运而生&#xff0c;它不仅能实现对空调状态…

OpenHarmony轻量系统开发【9】WiFi之STA模式连接热点

9.1AT指令操作WiFi 我们可以使用AT指令进行Hi3861 WiFi操作&#xff0c;连接热点、ping服务器等。 但是很多时候&#xff0c;我们需要实现开机后自动连接到某个热点&#xff0c;光靠AT指令不行。 Hi3861 为我们提供了WiFi操作的相关API&#xff0c;方便我们编写代码&#xff0…

如何用ServBay快速构建下一代GraphQL应用

在本指南中&#xff0c;我们将深入探讨如何利用ServBay一站式环境和Docker&#xff0c;构建可扩展的GraphQL微服务。我们将从微服务架构和GraphQL的基础知识入手&#xff0c;逐步深入到如何利用现代工具和技术构建、容器化并部署我们的微服务。 理解微服务架构 微服务架构是一…

举个栗子!Tableau 技巧(270):用 Lookup 函数创建多 KPI 文本表

在 Tableau 中&#xff0c;文本表常用于呈现明细数据。但其实&#xff0c;数据粉如果想在同一视图中查看多个数据指标&#xff0c;也可以用到文本表。 如下示例&#xff0c;是不是很直观的就可以查看&#xff1a;不同区域随时间推移的数据指标情况呢&#xff1f; 如何在 Tablea…

前后端分离vue.js+nodejs新闻文章发布论坛网站系统44x94

Vue&#xff1a; Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。另一方面&#xff0c;当与现代化的工具链以及…

数据库SQL语言实战(二)

目录 检索查询 题目一 题目二 题目三 题目四 题目五 题目六 题目七 题目八 题目九&#xff08;本篇最难的题目&#xff09; 分析 实现&#xff08;两种方式&#xff09; 模板 总结 检索查询 按照要求查找数据库中的数据 题目一 找出没有选修任何课程的学…

计算机毕业设计 工厂车间设备管理系统php+vue.js

该系统是以PHP为主要开发语言&#xff0c;集合MySQL数据库技术构建基于Web的以信息为目标的&#xff0c;动态的交互平台 PHP与Apache&#xff0c;MySQL的组合虽然有着诸多优势&#xff0c;但三种出自不同作者的开源软件要能很好的配合工作&#xff0c;需要很多手工配置&#x…

图解数学:拉格朗日松弛方法的直观理解

昨晚写了拉格朗日松弛方法的原理分析&#xff0c;今天意犹未尽&#xff0c;图解一下&#xff0c;从直观上进一步理解这种方法。 一、一个简单例子 我们先来看一个简单的例子&#xff0c;下面数学规划问题没有约束条件&#xff1a; min ⁡ f ( x ) − x 2 8 x − 10 \begin…

velero备份恢复k8s集群 —— 筑梦之路

官网&#xff1a;Velero 简介 Velero 是vmware开源的一个云原生的灾难恢复和迁移工具&#xff0c;它本身也是开源的,采用Go语言编写&#xff0c;可以安全的备份、恢复和迁移Kubernetes集群资源数据&#xff1b;官网https://velero.io/。 Velero 是西班牙语意思是帆船&#xf…