zoukankan      html  css  js  c++  java
  • Springboot的配置文件

    Springboot的配置文件

    Springboot application.properties配置文件

    springboot加载配置文件的顺序

    • file:./config/

    • file:/

    • classpath:./config/

    • classpath:/

      Springboot加载的时候会把上面路径的配置文件全部加载进去,加载的优先级由下往上依次降低,即首先加载classpath:/下的配置文件,然后加载classpath:./config/下面的配置文件,后加载的配置文件设置的属性值会覆盖先加载的配置文件设置的属性。

      application.yml配置文件同上面的加载顺序一样,当在相同的路径下存在application.yml和application.properties时,application.yml会覆盖application.properites的属性值。

      当不想使用applicaiton.properties配置文件时,可以通过spring.config.name来设置文件名称。

    自定义配置文件

    使用自定义配置文件会用到@ConfigurationProperties和@PropertySource两个注解

    @ConfigurationProperties:将配置文件中的配置以属性的形式自动注入到实体中, ignoreUnknownFields默认为ture, 自动检查配置文件中的属性是否存在,不存在则在启动时就报错。

    @PropertySource:用来指定加载指定的配置文件

    如下自定义代码

    package com.rookie.bigdata.config;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    /**
    
     * @author rookie
    
     * @version 1.0
    
     * @date 2020/3/22 19:15
       */
       @Configuration
       @ConfigurationProperties(prefix = "spring.user")
       @PropertySource("classpath:user.properties")
       public class User {
    
       private String name;
       private String address;
       public String getName() {
           return name;
       }
    
       public void setName(String name) {
           this.name = name;
       }
    
       public String getAddress() {
           return address;
       }
    
       public void setAddress(String address) {
           this.address = address;
       }
    
    }
    

    user.properties配置信息

    spring.user.name=zhangsan
    spring.user.address=beijing
    

    这样就把配置文件中的属性值注入到了User对象中 ,下面是测试代码

    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class UserTest {
    
        @Autowired
        private User user;
        
        @Test
        public void test1(){
            System.out.println(user.getName());
            System.out.println(user.getAddress());
        }
    
    }
    

    相关源码可以参考 githube

  • 相关阅读:
    使用Python创建简单的HTTP和FTP服务
    Xps实现文档显示、套打功能
    时间测试
    微信公众账号 开发教程
    竞赛快速及常用(后续更新)
    第十届蓝桥杯JavaC组省赛真题
    第十届蓝桥杯JavaC组省赛真题
    第十届蓝桥杯JavaC组省赛真题
    C# Winform学习(六)
    C# Winform学习(六)
  • 原文地址:https://www.cnblogs.com/haizhilangzi/p/12547925.html
Copyright © 2011-2022 走看看