springboot -2025/1/26

news/2025/2/4 11:32:30/文章来源:https://www.cnblogs.com/XYu1230/p/18691931

配置文件优先级:
application.properties > application.yml > application.yaml

YAML格式

YAML(YAML Ain't Markup Language),一种数据序列化格式。
优点:

  • 容易阅读

    yaml 类型的配置文件比 xml 类型的配置文件更容易阅读,结构更加清晰

  • 容易与脚本语言交互

  • 以数据为核心,重数据轻格式

    yaml 更注重数据,而 xml 更注重格式

YAML 文件扩展名:

  • .yml (主流)
  • .yaml

读取数据

  1. 使用@Value注解

  2. Environment对象
    SpringBoot 还可以使用 @Autowired 注解注入 Environment 对象的方式读取数据。这种方式 SpringBoot 会将配置文件中所有的数据封装到 Environment 对象中,如果需要使用哪个数据只需要通过调用 Environment 对象的 getProperty(String name) 方法获取

命令行启动参数设置

使用 SpringBoot 开发的程序以后都是打成 jar 包,通过 java -jar xxx.jar 的方式启动服务的。那么就存在一个问题,如何切换环境呢?因为配置文件打到的jar包中了。

我们知道 jar 包其实就是一个压缩包,可以解压缩,然后修改配置,最后再打成jar包就可以了。这种方式显然有点麻烦,而 SpringBoot 提供了在运行 jar 时设置开启指定的环境的方式,如下

java –jar xxx.jar –-spring.profiles.active=test

那么这种方式能不能临时修改端口号呢?也是可以的,可以通过如下方式

java –jar xxx.jar –-server.port=88

当然也可以同时设置多个配置,比如即指定启用哪个环境配置,又临时指定端口,如下

java –jar springboot.jar –-server.port=88 –-spring.profiles.active=test

配置文件分类

SpringBoot 中4级配置文件放置位置:

  • 1级:classpath:application.yml
  • 2级:classpath:config/application.yml
  • 3级:file :application.yml
  • 4级:file :config/application.yml

说明:级别越高优先级越高

Dao接口要想被容器扫描到,有两种解决方案:

  • 方案一:在Dao接口上添加@Mapper注解,并且确保Dao处在引导类所在包或其子包中
    • 该方案的缺点是需要在每一Dao接口中添加注解
  • 方案二:在引导类上添加@MapperScan注解,其属性为所要扫描的Dao所在包
    • 该方案的好处是只需要写一次,则指定包下的所有Dao接口都能被扫描到,@Mapper就可以不写。

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

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

相关文章

manim边学边做--局部变换

本次介绍的两个用于变换的动画类:TransformMatchingShapes和TransformMatchingTex。 它们的主要特点是对一组对象或一段文本进行局部变换,适用于复杂的图形或者文本的变换场景。 其中:TransformMatchingShapes:用于不同形状的 VMobject 间转换,能自动匹配相似形状并创建平…

读算法简史:从美索不达米亚到人工智能时代06人工智能现身

读算法简史:从美索不达米亚到人工智能时代06人工智能现身1. 人工智能现身 1.1. 在20世纪四五十年代,计算机在本质上被看成一种快速计算器1.1.1. 主机一个接一个地运行大量的数据处理作业(job),不与用户发生交互1.1.2. 最终的大量打印结果由操作员按批次(batch)展示给他们心怀…

2025 大盘

调整的差不多了 年后看3065附近

Qt展厅播放器/多媒体播放器/中控播放器/帧同步播放器/硬解播放器/监控播放器

一、前言说明 音视频开发除了应用在安防监控、视频网站、各种流媒体app开发之外,还有一个小众的市场,那就是多媒体展厅场景,这个场景目前处于垄断地位的软件是HirenderS3,做的非常早而且非常全面,都是通用的需求,这个场景需求,在播放这块,有几个明显的需求是,播放的视…

FFT+NTT入门

这是一个题图真的只是入门。 可能会接着更 分治FFT 或者 任意模数NTT? 前置知识 复数 也可以参考高中数学课本,这里只会介绍 fft 需要的(默认已经入门复数)。 多项式的相关概念。 点值表示法:假设 \(f(x)\) 是一个 \(n-1\) 次多项式,那么将 \(n\) 个 不同的 \(x\) 代入,…

Traefik新一代反代服务器,兼容所有主要的集群技术(二)

简介 笔记将记录如何使用docker配置traefik,代理一个gitea,自动申请tls证书,cloudflare反代80,443端口一系列实操。 daemon.json配置如下,主要是为了IPv6能访问,以及更改了主存储位置,配置了docker代理。{"data-root": "/storage/docker","ipv6…

macbookpro m3本地部署DeepSeek模型

macbookpro m3有着十分强大的性能。在deepseek如火如荼的当下,可以尝试在本地部署并使用。还可以将自己的文档作为语料喂给deepseek,使其能成为自己专属的AI助手。 本文介绍使用ollama在本地部署deepseek模型,并使用chatbox优化访问的步骤。 下载ollama https://ollama.com …

基于生成式AI的访问控制, 迁移传统安全策略到基于LLM的风险分类器

基于规则的风险分类风险分类是网络安全系统的核心能力之一,它将访问请求和命令映射到其风险级别/类别:高(High)、中(Medium)、低(Low)。目前,即便是在大规模环境中,风险分类器仍主要采用基于规则的系统实现。基于规则的分类器易于以符合人类直觉的方式定义——这也使…

坐标系与向量

坐标系规定 一般使用左手坐标系,+x,+y,+z分别指向右方、上方、前方。 多坐标系 世界坐标系:协议某个点为原点,其他所有点都有具体不变的坐标,能够用世界坐标系描述其他坐标系的位置,而不能使用更大的、外部的坐标系来描述世界坐标系。 物体坐标系:和物体相关联的坐标…

Netty实战入门教程

概述 Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开发中的地位 以下的框架都使用了 Netty,因为它们有网络通信需求!Cassandra - nosql 数据库 Spark…

FFT入门

这是一个题图前置知识 复数 也可以参考高中数学课本,这里只会介绍 fft 需要的(默认已经入门复数)。 多项式的相关概念。 点值表示法:假设 \(f(x)\) 是一个 \(n-1\) 次多项式,那么将 \(n\) 个 不同的 \(x\) 代入,可以得到 \(n\) 个 \(y\)。这 \(n\) 个点对 \((x,y)\) 唯一…

GPUStack:一个开源的GPU集群管理和自动化部署大模型的LLM服务平台

正如我们以前文章中说过,在过去近两年中,AI发展速度超过任何历史时期,基于大模型的各类应用已经渗透到了各行各业中,很多企业都在积极探索如何利用大模型提高公司运营管理的能效。 阿里云 CTO 周靖人也说过““当下企业应用大模型存在三种范式:一是对大模型开箱即用,二是…