【JavaEE】Spring Boot - 配置文件

这篇具有很好参考价值的文章主要介绍了【JavaEE】Spring Boot - 配置文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【JavaEE】Spring Boot 开发要点总结(2)

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot 开发要点总结(2)

所有重要和必要的数据都是在配置文件中配置的

  • 简洁明了,干净利落,修改方便,相比于xml,更有代码的感觉,功能用处也更多更被重视

例如:

  1. 数据库的连接时的需要的信息配置(用户名,url,密码)
  2. 项目的启动端口是什么(server.port)
  3. 第三方系统的调用密钥信息
  4. 用于发现和定位问题的普通日志和异常日志等~

没有配置文件,就无法连接数据库,甚至不能保存日志!

1. 配置文件的两种格式

配置文件的类型有两种:

  1. .properties
  2. .yml
    • .yaml 也一样
    • 这个yaml跟yml是一样的,后面不做演示

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

两种最主要的区别就是,格式不同,且对于重复的设置,properties的优先级更高~

  1. propertise

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  1. yml

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

结果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

虽然这两种文件可以共存,但是在实际开发的时候,通常是统一一种配置文件的~

2. .properties 文件

.properties配置文件是最早期的格式,为项目的默认配置文件

而这种写法相对于比较正式,不易出错,整齐全面,适合初学者

  • 之后我们自己的项目,我们写的就是这种 ~

2.1 基本语法

  1. .properties 配置文件是以键值对形式配置的: key=value
  2. .properties,一行一条语句

例如:

server.port=8080
spring.datasource.url=jdbc:mysql:127//127.0.0.1:3306/testdb?charsetEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456

. 代表着层级关系,“的”:X.Y => X里面的Y,对象的用法去联想也可以~

2.2 注释

# 井号代表注释~

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

重新启动后,(保存后显示)就会发现注释乱码的问题~

  • 这个时候就需要去设置,改动编码格式都为UTF-8
  • 当然,原本的乱码还会保留,因为已经不可逆了,乱了保存后谁都不认识

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

2.3 配置项

配置文件的配置类型分两种:

  1. 系统配置项
    • 例如:server.port
  2. 用户自定义配置项
    • 想写啥写啥都ok,例如:mine.name=大帅哥
    • 命名参考变量命名~

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

对于系统配置项,就是给系统用的,系统在启动的时候会自动获取,然后设置到一些必要的地方,例如端口号…

而对于用户自定义的配置项,则是用户保存的一些键值对罢了,系统不会用到,是用户主动去读取的

  • 当然,系统配置项,也可以被主动读到~

2.4 主动读取配置文件的键值

一样的,在JavaEE进阶,遍地是注解,而这里,仍然有注解可以解决我们的问题~

  • 来自【Spring框架】的@Value 注解

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

现在开始的注解,大部分都是“属性注入”的思想,适当联系之前的DI~

  • 对于Bean对象的具体应用细节,后续讲解,这里并不是重点

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 猜测含义就是,将key为“mine.name”,注入到字符串name中
  • 并在访问sayHi方法时返回~

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

返回了key值~

  • 这种写法跟没写一样~

正确的写法应该是:“${XXX.YYY}”

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

效果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

补充:

  1. 在注入的时候,如果是整数或者浮点型或者布尔类型,则支持字符串转化~
    • 只要不要“fan_jian”的去写,就不会有时,否则直接抛异常
    • 参考平时写代码的赋值操作

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

效果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  1. 找不到的时候,会抛异常

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  1. 习惯:在注释内部的字符串最好不要使用小驼峰,而是下划线

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

2.5 数据库的连接时的需要的信息配置

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

可见写起来比较麻烦

  • 但是这是必须的,因为不止 spring有 datasource,不止 datasource有 url…

  • 至于配置后的细节知识 以及如何操作数据库呢,这是后续的内容,非本文重点~

.properties文件的

  • 优点就是:陈列清晰

  • 缺点就是:写法臃肿

3. .yml文件

3.1 .yml文件的优缺点

优点就是:写法归纳性强,从简,可读性高

缺点:初学者容易犯错, 规矩多~

注意:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 同一层的内容,必须写在一起,归纳在一起(这是规矩)

将.properties的内容转化过来:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 其实也不是很难理解,这样的层级结构就更加鲜明了我觉得~
  • 注意:原本的key=value对应到这里就是,key: value冒号后面的空格不可缺少

效果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

其他的优点:

  1. 支持更多的数据类型,它可以简单表达清单(数组),散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或者编辑数据结构、各种配置文件等
    • properties也差不多吧,只是没有明说,官方夸的天花乱坠~
  2. yml 支持/面向 更多的编程语言,或者说更多的编程语言认可yml
    • 它不止是 Java中可以使用,在 Golang、高版本的 PHP、Python、Ruby、JS、Perl…中也都可以使用
    • 这样,在开发的时候,不同语言的工程师,也可以用统一的配置文件去设置一些共同配置和共同自定义数据
    • 最有价值的优点,不过现在用不着~

3.2 自定义对象

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

其实这就是一个对象,yml有明说~

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

properties的这个,也是个对象,没有明说~

创建一个实体类:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

3.3 自定义对象的获取

通过Bean的存储和注入的方式:

  1. 启动的时候,系统识别配置文件,把配置信息赋值给Bean对象
  2. 通过属性注入给成员

识别配置文件,赋值给Bean的方法:

  • 没错还是注解
    【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

属性注入:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

效果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 属性名必须跟设置是一样的,否则就是
    1. 多了白多了,没有影响
    2. 少了就少了,显示原有值

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

效果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 不要去把配置文件中的配置改为小驼峰,因为通过注入的时候,配置文件的 key看成全小写,那么原本的属性名就对应不上
    • 这也是前面不写小驼峰的原因之一
  • 导致 isBro 一直是 false

对于properties文件,效果也一样:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

3.4 配置集合(简单的String类型集合)

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 冒号空格别忘了,否则会被认为是字符串的一部分~

这个list也可以看成,db_type对象的一个属性

定义对象的时候,对象名不能用下划线,可以用减号,但是属性名可以:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

所以获取这个自定义数据的方式跟上面一样:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

效果:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

对于,List<Integer> 等等,那么就要保证每个值都严格对应得上,才不会报错!

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

4. 其他配置项

可以参考官方文档:

Common Application Properties (spring.io)

  • 需要用到的时候去搜即可!

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

5 properties 和 yml的区别

  1. 语法不同
    • properties : key=value
    • yml : key: value
  2. 诞生时机不同
    • properties是 Java早期的配置文件格式
    • yml不是Java独创的,而是Java兼容yml,yml支持Java
  3. yml很好的解决数据冗余的问题
  4. yml通用性比较高
  5. yml支持更多的数据类型

6 补充

6.1 命名

配置文件的标准名是:application-xxx,从图标就可以看出异端:

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

这就是spring的约定,要遵循!

我们有时候开发,要针对不同代码开发环境将配置文件分类

  1. 本地开发环境:application-dev.yml
  2. 测试环境:application-test.yml
  3. 生产环境:application-prod.yml

6.2 指定配置文件

指定配置文件扫描(非系统配置文件 application.yml/application.properties):

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

  • 但是这只是提供一个额外的配置文件,优先级不如系统配置文件
  • 这种方式对于普通的properties/yml文件,都适用(包括spring不认可的非application-xxx格式的文件)

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

另一种方式:对接环境对应的配置环境

在系统配置文件中去设置:

spring:
	profiles:
		active: xxx
		# xxx 代表开发环境配置文件格式 application-xxx 的 xxx
  • 可见,这种方式就仅仅针对Spring约定的配置文件~

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

含义就是,系统配置文件附带这个配置文件(或者说是接上了这个配置文件)

  • 理论上,一次运行只会用到一种开发环境
  • 所以在代码约定上其实系统配置文件只能附带一个自己的配置文件

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle

效果:
【JavaEE】Spring Boot - 配置文件,JavaEE,java-ee,spring boot,oracle


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

本文代码位置:spring_boot_demo1 · 游离态/马拉圈2023年8月 - 码云 - 开源中国 (gitee.com)文章来源地址https://www.toymoban.com/news/detail-631876.html


到了这里,关于【JavaEE】Spring Boot - 配置文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(42)
  • java Spring Boot将不同配置拆分入不同文件管理

    关于java多环境开发 最后还有一个小点 我们一般会将不同的配置 放在不同的配置文件中 好处肯定就在于 想换的时候非常方便 那么 我们直接看代码 我们将项目中的 application.yml 更改代码如下 这里 意思是 我们选择了dev 环境 然后创建一个文件 叫 application-dev.yml 参考代码如下

    2024年02月11日
    浏览(62)
  • Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

    创建 Spring Boot 项目 单击【创建】按钮 在 resources 里创建 myconfig.properties 文件 设置文件编码 设置学生的四个属性值 在 cn.kox.boot 包里创建config子包,在子包里创建 StudentConfig 打开自带的测试类 ConfigDemo01ApplicationTests 注入学生配置实体,创建 testStudentConfig() 测试方法,在里面输

    2024年02月08日
    浏览(45)
  • 【Spring Boot】Spring Boot配置文件详情

     Spring Boot是一个开源的Java框架,用于快速构建应用程序和微服务。它基于Spring Framework,通过自动化配置和约定优于配置的方式,使开发人员可以更快地启动和运行应用程序。Spring Boot提供了许多开箱即用的功能和插件,包括嵌入式Web服务器、安全性、数据访问、缓存、测试

    2024年02月12日
    浏览(54)
  • Spring —— Spring Boot 配置文件

    JavaEE传送门 JavaEE Spring —— Bean 作用域和生命周期 Spring —— Spring Boot 创建和使用 如果没有配置信息, Spring Boot 项目就不能连接和此操作数据库, 甚至是不能保存可以用于排查问题的关键日志, 配置文件的作用是非常重要的. 系统使用的配置文件 (系统配置文件), 如端口号的配

    2023年04月09日
    浏览(38)
  • 【Spring Boot学习一】创建项目 && Spring Boot的配置文件

    目录 一、安装插件 二、创建Spring Boot项目 1、创建项目 1.1 使用IDEA创建  1.2 网页版本创建 2、项目目录介绍与运行 三、Sping Boot的配置文件(重点) 🌷1、.properties配置文件 (1)基础语法:Key = value (2)读取配置⽂件中的内容,@Value 注解使⽤“${}”的格式读取; 🌷2、.y

    2024年02月16日
    浏览(40)
  • 【Spring Boot】掌握Spring Boot:深入解析配置文件的使用与管理

    💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Spring Boot】掌握Spring Boot:深入解析配置文件的使用与管理 🎉欢迎大家点赞👍评论📝收藏⭐文章 配置文件主要是为了解决硬编码带来的问题,把可能会发生改变的信息,放在⼀个集中的地方,当我们启 动某个程序时,应用程

    2024年04月23日
    浏览(37)
  • Spring Boot配置文件

    日升时奋斗,日落时自省  目录 1、配置文件作用 2、配置文件格式 2.1、使用注意 3、properties配置文件 3.1、注释中文问题 3.2、properties语法格式 3.3、读取配置文件 3.3.1、Value读取 3.3.2、PropertySource读取 3.3.3、原生方式读取配置文件 3.4、properties缺点分析 4、yml配置文件 4.1、优点

    2024年02月01日
    浏览(36)
  • Spring Boot读取配置文件

    Spring Boot 是一种用于快速构建基于Spring的应用程序的框架,它提供了很多便利的功能和约定,使开发者可以快速搭建、配置和部署应用程序。在Spring Boot中,读取配置文件是一个非常常见的任务,本文将介绍如何在Spring Boot应用程序中读取配置文件,并使用读取到的配置信息。

    2024年02月07日
    浏览(47)
  • Spring Boot的配置文件

    Spring Boot中的配置文件有两种:properties格式和yml格式 一、propertise格式 propertise格式是Springboot默认的配置文件的格式,它才有键值对key=value的方式存储配置信息,有系统key值和自定义key值两类。 系统key值就是Spring boot约定的一些key值,通过设置这些key对应的value值可以配置对应

    2024年02月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包