【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将不同配置拆分入不同文件管理

    java Spring Boot将不同配置拆分入不同文件管理

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

    2024年02月11日
    浏览(12)
  • Java实战:Spring Boot application.yml配置文件详解

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

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

    Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

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

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

    【Spring Boot】Spring Boot配置文件详情

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

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

    Spring —— Spring Boot 配置文件

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

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

    【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日
    浏览(7)
  • 【Spring Boot】掌握Spring Boot:深入解析配置文件的使用与管理

    【Spring Boot】掌握Spring Boot:深入解析配置文件的使用与管理

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

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

    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日
    浏览(6)
  • Spring Boot的配置文件

    Spring Boot的配置文件

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

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

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

    2024年02月07日
    浏览(10)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包