spring boot配置文件格式,spring boot默认读取配置文件是

  spring boot配置文件格式,spring boot默认读取配置文件是

  00-1010 1.Spring Boot概要文件1.1概要文件的功能1.2概要文件的格式1.3属性概要文件描述1.3.1属性的基本语法1.3.2读取概要文件1.4 yml概要文件描述1.4.1 yml基本语法1.4.2 yml使用高级1.4.3对象1.4.4另一种方式编写配置集1.4.5 yml(内联编写)1.5属性与yml的比较2 .读取SpringBoot配置文件的方法2.1用@Value读取配置文件2.2用@ configurationproperties读取指定的配置文件2.3 @ propertysource

  

目录

 

  00-1010配置文件配置了项目中的重要数据,如:

  利用数据库的连接信息(用户名和密码)、项目的启动端口、第三方系统的调用键等信息来发现和定位问题。没有配置信息,Spring Boot项目就无法连接和操作数据库,甚至无法保存可用于解决问题的关键日志。所以配置文件非常重要。

  00-1010 Spring Boot有两种配置文件:

  .属性(主要是键=值格式)。yml(主要是key:值格式)注3360

  当两者都有的时候。属性和。yml在一个项目中,并且两个配置文件有相同的配置项,Spring Boot会优先考虑。属性,因为。属性具有更高的优先级。两个不同的配置文件。属性。yml,但在一个项目中只推荐一种配置文件格式。

  

1. SpringBoot 配置文件

 

  

1.1 配置文件的作用

属性以key=value的格式配置。

 

  server . port=9090 spring . data source . URL=JDBC : MySQL ://127 . 0 . 0 . 1:3306/2022-6-1 spring . data source . username=root spring . data source . password=1234

  配置文件的注释信息使用“#”

  00-1010读取配置文件的内容,这可以通过使用@Value注释来实现。

  @Value批注以“$ {}”的格式读取。

  @Componentpublic类Read实现initializing bean { @ Value( $ { server . port } )私有字符串端口;@ Override public void afterPropertiesSet()抛出异常{ system . out . println();system . out . println(port);system . out . println();}}

  

1.2 配置文件的格式

yml是YMAL,它的全名是又一种标记语言,它被翻译成另一种标记语言。

 

  00-1010YML是一个树形结构的配置文件,基本语法是key: value,其中3360后面跟一个空格。

  server : port : 9090 spring : data source : URL : JDBC : my SQL ://127 . 0 . 0 . 1:3306/2022-6-1用户名:根密码: 1234

  h4>1.4.2 yml 使用进阶

# ~代表nullnull.value: ~

 

  

查看一段代码

 

  

string: str1: Hello n World str2: 'Hello n World' str3: "Hello n World"

 

  

读取yml中的这段代码

 

  

@Componentpublic class Read1 implements InitializingBean { @Value("${string.str1}") private String str1; @Value("${string.str2}") private String str2; @Value("${string.str3}") private String str3; @Override public void afterPropertiesSet() throws Exception { System.out.println(); System.out.println("str1: "+str1); System.out.println("str2: "+str2); System.out.println("str3: "+str3); System.out.println(); }}

运行结果:

 

  字符串加上双引号, 会执行n 换行.

  

 

  

 

  

1.4.3 配置对象

yml 中配置对象

 

  

student: id: 1 name: zhangsan age: 18

 

  

读取配置的对象, 就需要用到另一个注解: @ConfigurationProperties

 

  

@Component@ConfigurationProperties("student")public class User { private int id; private String name; private int age;// 一堆getter setter}

读取

 

  

@Componentpublic class Read2 implements InitializingBean { @Autowired private Student student; @Override public void afterPropertiesSet() throws Exception { System.out.println(); System.out.println(student); System.out.println(); }}

 

  

 

  

1.4.4 配置集合

yml 中 配置集合

 

  

mylist: colors: - RED - GREEN - BLACK

 

  

读取配置集合

 

  

@Component@ConfigurationProperties("mylist")public class MyList { private List<String> colors; // 一堆getter 和 setter}

打印代码

 

  

@Componentpublic class Read3 implements InitializingBean { @Autowired private MyList myList; @Override public void afterPropertiesSet() throws Exception { for (String val : myList.getColors()){ System.out.println(val); } }}

 

  

 

  

1.4.5 yml的另一种写法(行内写法)

配置对象

 

  

student: {id: 1,name: zhangsan,age: 18}

 

  

配置集合

 

  

mylist: {colors: [RED,GREEN,BLACK]}

 

  

 

  

1.5 properties 和 yml 比较

properties 的语法更复杂, yml 语法更简洁

 

  

 

  yml通用性更好, 支持更多的语言, 如 Java, Go, Python等

  yml支持更多的数据类型

  yml格式的配置文件写的时候容易出错(在:之后有一个空格), 而properties写法传统比较复制,但不太容易出错

  

 

  

2. 读取 SpringBoot 配置文件的方法

 

  

2.1 使用 @Value 读取配置文件

只能读取一个

 

  

@Componentpublic class Read implements InitializingBean { @Value("${server.port}") private String port; @Override public void afterPropertiesSet() throws Exception { System.out.println(); System.out.println(port); System.out.println(); }}

 

  

2.2 使用@ConfigurationProperties

直接在类上写

 

  

@Component@ConfigurationProperties("mylist")public class MyList { private List<String> colors; public List<String> getColors() { return colors; } public void setColors(List<String> colors) { this.colors = colors; }}

 

  

2.3 @PropertySource读取指定配置文件

jdbc.username=root2jdbc.password=root1

 

  

@Component@PropertySource(value = {"classpath:application.properties"})public class JDBC implements InitializingBean { @Value("${jdbc.username}") private String username; @Value("${jdbc.password}") private String password; @Override public void afterPropertiesSet() throws Exception { System.out.println(username + " " + password); }}

到此这篇关于Spring Boot详解配置文件的用途与用法的文章就介绍到这了,更多相关Spring Boot配置文件内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • spring编程式事务处理,spring编程事务
  • spring编程式事务处理,spring编程事务,详解Spring学习之编程式事务管理
  • spring的核心功能模块有几个,列举一些重要的spring模块
  • spring的核心功能模块有几个,列举一些重要的spring模块,七个Spring核心模块详解
  • spring注解和springmvc的注解,SpringMVC常用注解
  • spring注解和springmvc的注解,SpringMVC常用注解,详解springmvc常用5种注解
  • spring实现ioc的四种方法,spring的ioc的三种实现方式
  • spring实现ioc的四种方法,spring的ioc的三种实现方式,简单实现Spring的IOC原理详解
  • spring事务失效问题分析及解决方案怎么做,spring 事务失效情况
  • spring事务失效问题分析及解决方案怎么做,spring 事务失效情况,Spring事务失效问题分析及解决方案
  • spring5.0新特性,spring4新特性
  • spring5.0新特性,spring4新特性,spring5新特性全面介绍
  • spring ioc以及aop原理,springmvc aop原理
  • spring ioc以及aop原理,springmvc aop原理,深入浅析Spring 的aop实现原理
  • Spring cloud网关,spring cloud zuul作用
  • 留言与评论(共有 条评论)
       
    验证码: