springboot3 基础特性(1)

文章目录

  • 一、SpringApplication三种方式
    • 1.1 基础方式
    • 1.2.自定义 SpringApplication
    • 1.3、FluentBuilder API
  • 二、自定义Banner
  • 三、Profiles
    • 3.1 什么是 Profiles ?
    • 3.2 声明Profiles
    • 3.3 激活配置文件
      • 3.3.1 分组
      • 3.3.2 环境包含
      • 3.3.3 激活方式
      • 3.3.4 配置优先级

一、SpringApplication三种方式

1.1 基础方式


@SpringBootApplication
public class ShujufangwenApplication {

    public static void main(String[] args) {
        
        SpringApplication.run(ShujufangwenApplication.class, args);
    }

}

1.2.自定义 SpringApplication

在这里插入图片描述

在这里插入代码片@SpringBootApplication
public class ShujufangwenApplication {

    public static void main(String[] args) {


        SpringApplication springApplication=new SpringApplication(ShujufangwenApplication.class);
        //这种方式我们可以设置spring应用的一个配置
        //但是 配置文件中的优先级是要大于此种方式的
        springApplication.setBannerMode(Banner.Mode.OFF);
        springApplication.run(args);
    }

}

1.3、FluentBuilder API

也可以配置一些应用环境

@SpringBootApplication
public class ShujufangwenApplication {

    public static void main(String[] args) {


        new SpringApplicationBuilder().sources(ShujufangwenApplication.class)
                .bannerMode(Banner.Mode.CONSOLE)
                .run();
    }

}

二、自定义Banner

在这里插入图片描述
推荐网站:Spring Boot banner 在线生成工具,制作下载英文 banner.txt,修改替换 banner.txt 文字实现自定义,个性化启动 banner-bootschool.net

可以看到 spring启动时 图标变了
在这里插入图片描述

三、Profiles

3.1 什么是 Profiles ?

应用所在的运行环境发生切换时,配置文件常常就需要随之修改。

Profile:——就是一组配置文件及组件的集合。

可以整个应用在不同的profile之间切换(设置活动profile),整个应用都将使用该profile对应的配置文件及组件。

——每个运行环境(开发、测试、上线)都配置成一个对应profile,这样以后只要修改一下活动profile,应用就可以轻易地在不同的运行环境之间自由切换。

就是通过 配置的 profile 快速切换开发环境。

3.2 声明Profiles

我们可以用@Profile修饰Spring组件(@Component、@Configuration、@ConfigurationProperties),意味着该组件仅对特定profile有效。

在配置文件中添加profile名,意味着该配置文件仅对特定profile生效。

在这里插入图片描述

什么环境都不激活的话就是默认环境生效。
在这里插入图片描述

如果一个组件上什么都不标的话,就代表不管什么环境激活,都会生效,但如果标了default,就代表只有激活默认环境才会生效,需要注意
在这里插入图片描述

3.3 激活配置文件

命名:在 Spring Boot 中,Profile 是通过配置文件来实现的。在不同的环境下,可以加载不同的配置文件,从而实现不同的配置逻辑。具体来说,Spring Boot 支持以下几种配置文件:

application.properties
application.yml
application-{profile}.properties
application-{profile}.yml
其中,application.properties 和 application.yml 是通用的配置文件,它们在所有的环境下都会被加载。而 application-{profile}.properties 和 application-{profile}.yml 则是根据不同的 Profile 来加载的配置文件。当应用程序启动时,Spring Boot 会根据当前的环境变量来决定加载哪个配置文件。例如,如果当前环境变量为 dev,则会加载 application-dev.properties 或 application-dev.yml 文件。

在这里插入图片描述

如果激活环境与基础配置application.properties中的冲突的话,激活环境的优先。

3.3.1 分组

在这里插入图片描述
可以给激活环境分组 来直接激活该组。

3.3.2 环境包含

注意
1.spring.profiles.active 和spring.profiles.default 只能用到 无 profile 的文件中,如果在application-dev.yaml中编写就是无效的

环境包含就是:不论哪个环境生效,该环境都会包含进去生效。
在这里插入图片描述

3.3.3 激活方式

1、在配置文件中 使用spring.profiles.active=
2、通过命令行 --spring.profiles.active=dev,hsqldb

3.3.4 配置优先级

总结:
命令行>配置文件>Springapplication编程式配置
config子目录>config目录
config>根目录
{profile}>application
包外>包内
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

逻辑这回事(五)---- 资源优化

基础篇 Memory 避免细碎的RAM。将大的RAM拆分成多个小RAM,并根据地址关断可以优化功耗,但把多个小RAM合成大RAM可以优化面积。Block RAM和分布式RAM合理选择。根据存储容量,对Block RAM和分布式RAM的实现面积和功耗进行评估,选择…

Opus从入门到精通(五)OggOpus封装器全解析

Opus从入门到精通(五)OggOpus封装器全解析 为什么要封装 前面Opus从入门到精通(四)Opus解码程序实现提到如果不封装会有两个问题: 无法从文件本身获取音频的元数据(采样率,声道数,码率等)缺少帧分隔标识,无法从连续的文件流中分隔帧(尤其是vbr情况) 针对上面的问题我们可以…

SwiGLU激活函数与GLU门控线性单元原理解析

前言 SwiGLU激活函数在PaLM,LLaMA等大模型中有广泛应用,在大部分测评中相较于Transformer FFN中所使用的ReLU函数都有提升。本篇先介绍LLaMA中SwiGLU的实现形式,再追溯到GLU门控线性单元,以及介绍GLU的变种,Swish激活…

【Windows】DNG Converter(DNG格式转换器)软件介绍

软件介绍 DNG Converter是一款免费软件,用于将数码相机原始RAW图像文件转换为DNG格式(数字负片)文件。DNG格式是一种数字负片格式,它旨在成为一种行业标准,以便摄影师可以使用一个统一的格式来存储其相机拍摄的原始图…

深度学习笔记: 最详尽估算送达时间系统设计

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家! 估算送达时间 1. 问题陈述 构建一个模型来估算在给定订单详情、市场条件和交通状况下的总送达时间。 为…

两个 SASS 分分析案例

1. shfl_sync的 机器 sass 汇编代码 1.1 实验目标 对比 int ret __shfl_sync(0xFFFFFFFF, value, 5, 16); int ret __shfl_sync(0xFFFFFFFF, value, 5, 32); 不同的 sass 汇编代码 1.2 实验代码 源代码 shfl 16&#xff1a; shft_sync_test_16.cu #include <iostream…

LDR6500:手机电脑拓展坞转接器方案的卓越之选

随着科技的飞速发展&#xff0c;手机和电脑已成为我们日常生活中不可或缺的工具。然而&#xff0c;它们的接口有限&#xff0c;经常难以满足我们多样化的需求。这时&#xff0c;一款高效、稳定的拓展坞转接器就显得尤为重要。LDR6500&#xff0c;作为乐得瑞科技精心研发的USB P…

【已解决】引入 element 组件无法使用编译错误 ERROR Failed to compile with 1 error

如果大家使用这个vue 配合 element 框架不熟练&#xff0c;当你顺利按照文档安装好 vue 和 element 的时候想要使用element 的组件时候确无法展示出来&#xff0c;甚至报错。不妨看看是不是这个问题&#xff0c; 1.首先使用element 的时候&#xff0c;前提是把必须要的 elemen…

C++入门 vector介绍及使用

目录 vector的介绍及使用 vector常用接口的介绍及使用 vector的定义 vector iterator 的使用 vector 空间增长问题 vector 增删查改 push_back/pop_back insert & erase & find operator[ ]的遍历 vector的介绍及使用 vector的文档介绍 vector是表示可变大…

热镀锌钢板耐液体性能测 彩钢板抗拉强度检测

钢板检测范围&#xff1a;钢板、彩钢板、不锈钢板、耐磨钢板、合金钢板、压型钢板、冷轧钢板、弹簧钢板、碳钢板、热轧钢板、厚钢板、热镀锌钢板、冲孔钢板、船用钢板、硅钢板、花纹钢板、压力容器钢板、耐候钢板、 钢板检测项目包括化学性能检测、性能检测、机械性能检测、老…

图解Transformer学习笔记

教程是来自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 图解Transformer Attention为RNN带来了优点&#xff0c;那么有没有一种神经网络结构直接基于Attention构造&#xff0c;而不再依赖RNN、LSTM或者CNN的结构&#xff0c;这就是Trans…

[2024-06]-[大模型]-[Ollama]- WebUI

主要涉及要部署的前端webui是来源于:https://github.com/open-webui/open-webui 正常就使用: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-web…

深入浅出 Babel:现代 JavaScript 的编译器

在现代前端开发中&#xff0c;JavaScript 的版本更新速度非常快&#xff0c;新的语法和特性层出不穷。然而&#xff0c;旧版本的浏览器并不总是支持这些新特性。为了确保代码的兼容性和稳定性&#xff0c;我们需要一个工具来将现代 JavaScript 代码转换为旧版本的代码。Babel 就…

vue-element-admin后台集成方案

官网&#xff1a;介绍 | vue-element-adminA magical vue adminhttps://panjiachen.github.io/vue-element-admin-site/zh/guide 1.git环境安装配置及简单操作 1.1git环境安装配置 git软件官网&#xff1a;Git - Downloads (git-scm.com)https://git-scm.com/downloads 下载…

Java | Leetcode Java题解之第145题二叉树的后序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> postorderTraversal(TreeNode root) {List<Integer> res new ArrayList<Integer>();if (root null) {return res;}TreeNode p1 root, p2 null;while (p1 ! null) {p2 p1.left…

JS 中的各种距离 scrollTop?clientHeight?

元素的各种距离 DOM 对象 属性描述offsetWidth只读&#xff0c;返回元素的宽度&#xff08;包括元素宽度、内边距和边框&#xff0c;不包括外边距&#xff09;offsetHeight只读&#xff0c;返回元素的高度&#xff08;包括元素高度、内边距和边框&#xff0c;不包括外边距&am…

【Java】多态、final关键字、抽象类、抽象方法

多态(Polymorphism) 【1】多态跟属性无关&#xff0c;多态指的是方法的多态&#xff0c;而不是属性的多态。 【2】案例代入&#xff1a; public class Animal {//父类&#xff1a;动物&#xff1a; public void shout(){ System.out.println("我是小动物&am…

linux中DNS域名解析服务(后续补充)

分离解析简介&#xff1a; 分离解析的域名服务器实际也是主域名服务器&#xff0c;这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不同网段地址的客户机请求解析同一域名时&#xff0c;为其提供不同的解析结果。 实验要求&#xff1a;防火墙要么关…

小分子水半幅宽检测 低氘水同位素氘检测 富氢水检测

小分子水半幅宽检测 低氘水同位素氘检测 富氢水检测 检测范围: 矿泉水等饮用水 检测概述 小分子团水活化性很强&#xff0c;具有强渗透力&#xff0c;强溶解力&#xff0c;强扩散力。水的含氧量高&#xff0c;能给人体内的组织细胞带来更多的氧。长自来水大分子团核磁共振测得…

Vue引入element-plus-04

我们这次开发是使用vue的脚手架来进行开发,前面我们已经使用过最原生的方式去编写我们的vue的语法,从今天开始就使用vue的脚手架,但是前提是你需要用于node的环境 在我们开始之前&#xff0c;我们至少需要有node npm是什么&#xff1f; npm是一个强大的包管理工具&#xff0c;它…