iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring Boot怎么配置文件类型的properties格式与yml格式
  • 660
分享到

Spring Boot怎么配置文件类型的properties格式与yml格式

2023-06-30 14:06:40 660人浏览 薄情痞子
摘要

本篇内容介绍了“spring Boot怎么配置文件类型的properties格式与yml格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学

本篇内容介绍了“spring Boot怎么配置文件类型的properties格式与yml格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    一 配置文件类型

    Spring Boot默认支持properties和yml两种格式的配置文件。yml格式是天然的树状接口,相对于properties,yml更加的一目了然。这也是我们推荐的配置文件格式。

    properties 格式举例:

    server.port=8090server.session-timeout=30server.Tomcat.max-threads=0server.tomcat.uri-encoding=UTF-8spring.datasource.url=jdbc:mysql://localhost:3306/newbirdsspring.datasource.username=rootspring.datasource.passWord=myMysqlspring.datasource.driverClassName=com.mysql.jdbc.Driverspring.jpa.database=MYsqlspring.jpa.show-sql=truespring.jpa.hibernate.ddl-auto=updatespring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategyspring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

    yml 格式举例:

    server:  port: 8090  session-timeout: 30  tomcat.max-threads: 0  tomcat.uri-encoding: UTF-8spring:  datasource:    url: jdbc:mysql://localhost:3306/newbirds    username: root    password: mymysql    driverClassName: com.mysql.jdbc.Driver  jpa:    database: MYSQL    show-sql: true    hibernate:      ddl-auto: update      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy    properties:      hibernate:      dialect : org.hibernate.dialect.MySQL5Dialect

    二 配置文件

    2.1 核心配置文件

    Spring Boot默认支持两种核心配置文件:bootstrap.yml(bootstrap.properties)、application.yml(application.properties)。bootsrap先加载。

    2.1.1 bootstrap.yml(bootstrap.properties)

    bootstrap.yml用于应用程序上文的引导节点,由父Spring ApplicationContext加载。我们可以简单的把bootstrap里面的配置信息理解成系统级别的参数。这些参数轻易是不会改变的。

    bootstrap配置文件有以下几个应用场景:

    • 使用spring cloud Config的时候,需要将spring.application.name和spring.cloud.config.server.git.uri写入bootstrap.yml。

    • 一些固定的不能被覆盖的属性。

    • 一些加密/解密的场景。会把encryption/decryption(加密/解密)存储在bootstrap.yml里面。

    一旦bootStrap.yml 被加载,则内容不会被覆盖,即便后期加载的application.yml的内容标签与bootstrap的标签一致,application 也不会覆盖bootstrap。

    2.1.2 application.yml(application.properties)

    application.yml是我们用的最多的一个配置文件.一般配置应用级别的配置,比如数据库的连接配置,如果我们用到了redis可能会写一些Redis相关的配置等等。

    2.2 自定义配置文件

    为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,比如我们在resource目录下创建一个product.properties文件.

    resources/product.properties文件内容如下:

    ppid = 1000mmid = 1ccid = 10

    三 配置文件读取

    3.1 读取核心配置文件信息

    读取核心配置文件信息值的是读取bootstrap.yml(bootstrap.properties)、application.yml(application.properties)文件里面的信息.

    3.1.1 Environment方式

    这种方式是依赖注入Evnironment来完成,在创建的成员变量private Environment env上加上@Autowired注解即可完成依赖注入,然后使用env.getProperty("键名")即可读取出对应的值。比如如下的代码.

    application.yml文件里面添加我们自定义的属性:

    # 自定义的一些属性user:  info:    name: tuacy    age: 27

    Environment方式读取配置信息:

    @RunWith(SpringRunner.class)@SpringBootTest()public class PropertiesTest {    private Environment environment;    @Autowired    public void setEnvironment(Environment environment) {        this.environment = environment;    }    @Test    public void test() {        String name = environment.getProperty("user.info.name");        Integer age = environment.getProperty("user.info.age", Integer.class);        System.out.println("name = " + name + "; age = " + age);            }}
    3.1.2 @Value方式

    在@Value的${}中包含的是核心配置文件中的键名就可以得到对应的值.

    @RunWith(SpringRunner.class)@SpringBootTest()public class PropertiesTest {    @Value("${user.info.name}")    private String name;    @Value("${user.info.age}")    private int age;    @Test    public void test() {        System.out.println("name = " + name + "; age = " + age);    }}
    3.1.3 @ConfigurationProperties方式

    @ConfigurationProperties使用的时候对应的属性类一定要记得加上@Configuration或者在任何一个配置类(推荐启动类上)通过@EnableConfigurationProperties注解指定自定义的属性类.推荐直接在属性类上添加@Configuration注解.

    @Configuration@ConfigurationProperties(prefix = "user.info")public class UserInfo {    private int age;    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

    3.2 读取自定义配置文件信息

    3.2.1 @PropertySource + @Value

    @PropertySource + @Value使用于读取property根式配置文件的信息.@PropertySource指定配置文件路径和编码格式,@Value指定配置文件里面的key值.

    自定义的配置文件 product.properties:

    ppid = 1000mmid = 1ccid = 10

    对应的读取方式:

    @Configuration@PropertySource(value = "classpath:product.properties", encoding = "utf-8")public class ProductInfo {    @Value("${ppid}")    private int pid;    @Value("${mmid}")    private int mid;    @Value("${ccid}")    private int cid;    public int getPid() {        return pid;    }    public void setPid(int pid) {        this.pid = pid;    }    public int getMid() {        return mid;    }    public void setMid(int mid) {        this.mid = mid;    }    public int getCid() {        return cid;    }    public void setCid(int cid) {        this.cid = cid;    }}
    3.2.2 @ConfigurationProperties + @PropertySource + @Value

     @ConfigurationProperties + @PropertySource + @Value适用于读取yml格式配置文件信息.@PropertySource指定配置文件路径和编码格式,@ConfigurationProperties和@Value指定配置文件里面的key值.

    配置文件:

    admin:  user:    name: tuacy    age: 25

    对应配置文件的读取方式:

    @Configuration@PropertySource(value = "classpath:role.yml")@ConfigurationProperties(prefix = "admin.user")public class RoleUserInfo {    @Value("${name}")    private String name;    @Value("${age}")    private int age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

    四 配置文件的加载顺序

    优先级由高到底,高优先级的配置会覆盖低优先级的配置,
    全部加载配置文件并互补配置.

    4.1 项目内部配置文件加载顺序

    SpringBoot配置文件可以放置在多种路径下,不同路径下的配置优先级有所不同。可放置目录(优先级从高到低)

    • 当前项目根目录下的config目录下。

    • 当前项目根目录下。

    • resources目录下的config目录下。

    • resource目录下。

    4.2 项目外部配置文件加载顺序

    优先级由高到低:

    • 命令行参数

    • 来自java:comp/env的JNDI属性

    • Java系统属性(System.getProperties())

    • 操作系统环境变量

    • RandomValuePropertySource配置的random.*属性值

    • jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件

    • jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件

    • jar包外部的application.properties或application.yml(不带spring.profile)配置文件

    • jar包内部的application.properties或application.yml(不带spring.profile)配置文件

    • @Configuration注解类上的@PropertySource

    • 通过SpringApplication.setDefaultProperties指定的默认属性

    “Spring Boot怎么配置文件类型的properties格式与yml格式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: Spring Boot怎么配置文件类型的properties格式与yml格式

    本文链接: https://www.lsjlt.com/news/329653.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Spring Boot 配置文件类型properties 格式与yml 格式
      目录一 配置文件类型二 配置文件2.1 核心配置文件2.1.1 bootstrap.yml(bootstrap.properties)2.1.2 application.yml(ap...
      99+
      2024-04-02
    • Spring Boot怎么配置文件类型的properties格式与yml格式
      本篇内容介绍了“Spring Boot怎么配置文件类型的properties格式与yml格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
      99+
      2023-06-30
    • Spring Boot使用yml格式进行配置的方法
      Spring Boot使用yml格式进行配置的方法分为以下几个步骤:1. 在项目的`src/main/resources`目录下创建...
      99+
      2023-08-16
      Spring Boot
    • yml配置文件与properties如何利用Spring Boot实现加载
      本篇文章给大家分享的是有关yml配置文件与properties如何利用Spring Boot实现加载,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、系统启动后注入配置pack...
      99+
      2023-05-31
      spring boot properties yml
    • linux怎么查看文件格式类型
      在Linux系统中,可以使用`file`命令来查看文件的格式类型。使用方法如下:```file 文件路径```例如,要查看名为`te...
      99+
      2023-10-09
      linux
    • 云服务器怎么选择配置方案的文件格式类型
      云服务器通常使用文件类型进行管理,下面是一些常见的文件类型和配置方案: 文件类型: NTFS:这是目前最通用的文件类型。它提供了高容错性、高可靠性和低延迟的能力。NTFS文件系统支持大量文件和文件夹,并具有许多其他高级功能,如数据卷...
      99+
      2023-10-26
      文件格式 类型 服务器
    • 云服务器怎么选择配置方案类型的文件格式
      云服务器通常支持多种不同类型的文件格式,以下是一些常见的配置方案类型: HTTP/HTTPS文件 HTTP/HTTPS文件可以存储HTTP协议请求和响应的数据,因此对于HTTP协议,通常需要选择支持HTTPS的文件系统。 Postg...
      99+
      2023-10-26
      文件格式 类型 服务器
    • 云服务器怎么选择配置方案类型的数据库文件格式
      云服务器可以选择使用不同类型的数据库文件格式。以下是一些常见的选择方案类型: Oracle:Oracle提供了许多数据库类型,例如数据文件、文件系统、NoSQL、关系型数据库等,您可以根据具体情况选择适当的数据库类型。 MongoDB:...
      99+
      2023-10-27
      文件格式 类型 服务器
    • Shell中怎么读取ini格式配置文件
      Shell中怎么读取ini格式配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:[COM]KINGGOO = jb51.net其实这个作用没那么特...
      99+
      2023-06-09
    • 云服务器配置选择什么模式的文件格式
      可扩展性和可用性:云服务器能够快速扩展,支持动态分配和扩展资源,以适应不同规模和业务需求的需求。如果您的业务需要高可用性,可以选择云服务器自带备份功能,并使用多台云服务器进行负载均衡。如果您的业务需要高可用性,可以选择云服务器自带冗余机制...
      99+
      2023-10-28
      文件格式 服务器配置 模式
    • Spring中配置和读取多个Properties文件的方式方法
      一个系统中通常会存在如下一些以Properties形式存在的配置文件数据库配置文件demo-db.properties:database.url=jdbc:mysql://localhost/smaple database.driver=c...
      99+
      2023-05-31
      properties spring propertie
    • Hive支持哪些不同类型的文件格式
      Hive支持多种不同类型的文件格式,包括但不限于: 文本文件(如CSV、TSV、JSON、XML等) 序列文件(SequenceF...
      99+
      2024-04-02
    • vbscript如何读取xml格式的配置文件
      这篇文章主要为大家展示了“vbscript如何读取xml格式的配置文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vbscript如何读取xml格式的配置文件”这篇文章吧。复制代码 代码如下:...
      99+
      2023-06-08
    • java怎么设置文件编码格式
      在Java中,可以通过以下几种方式设置文件的编码格式:1. 使用`InputStreamReader`和`OutputStreamW...
      99+
      2023-08-19
      java
    • Vue使用formData格式类型上传文件的示例
      在vue中,我们普遍是前后端分离项目,即需要使用axios等工具向后台发送请求实现对数据的操作。 其中,文件上传算是比较难的一种。这篇文章五分钟教会你上传文件。 1.如图片上传,后端...
      99+
      2024-04-02
    • 云服务器怎么选择配置方案的文件格式
      云服务器通常使用文件共享服务,以下是一个简单的配置文件示例: Server id = Server.CreateObject("/"); Server.MapName("localhost:8080"); 要在 Apache 上创建一...
      99+
      2023-10-26
      文件格式 服务器 方案
    • springboot yml配置文件值的注入方式是什么
      这篇文章跟大家分析一下“springboot yml配置文件值的注入方式是什么”。内容详细易懂,对“springboot yml配置文件值的注入方式是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够...
      99+
      2023-06-26
    • springboot 返回json格式数据时间格式配置方式是怎么样的
      springboot 返回json格式数据时间格式配置方式是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。返回json格式数据时间格式配置数据库里面查出...
      99+
      2023-06-25
    • 云服务器怎么选择配置方案的文件夹格式
      云服务器通常提供多种不同的文件夹格式,以下是一些常见的选项: RAID:这是一种高可靠性的磁盘组技术,可以通过不同的参数设置来提供不同的存储容量和性能,从而满足不同用户的需求。 CDN:将网站分发到多个节点上,以提高网站性能和访问速度。...
      99+
      2023-10-26
      文件夹 格式 服务器
    • springboot怎么使用logback-spring配置日志格式,并分环境配置
      这篇文章主要介绍了springboot怎么使用logback-spring配置日志格式,并分环境配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。配置不生效的解决办法注意:如...
      99+
      2023-06-20
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作