zoukankan      html  css  js  c++  java
  • SpringBoot学习笔记:读取配置文件

    SpringBoot学习笔记:读取配置文件

    配置文件

      在以往的项目中,我们主要通过XML文件进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息。在SpringBoot中,我们只需要将配置放在application.properties中,然后用以下的三种方式即可轻松读取。

      需要注意的是,在application.properties中,所有的配置都是以key=value的形式定义的,如下

    server.port=9090
    server.servlet.context-path=/
    server.tomcat.uri-encoding=UTF-8
    spring.http.encoding.charset=UTF-8
    

      其中,key值的左边称之为左前缀,如server.servlet.context-path的左前缀是server.servlet。

    三种方式

    1、Environment

    @RestController
    public class ActivateAppController {
        
        @Autowired
        private Environment env;
        
        @RequestMapping("/hello.do")
        public String hello(){
            return env.getProperty("spring.mail.host");
        }
    }

    2、@Value

    @RestController
    public class ActivateAppController {
    
        @Value("${spring.mail.host}")
        private String mailPort;
    
        @RequestMapping("/hello.do")
        public String hello(){
            return mailPort;
        }
    }

    3、自定义配置类

    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @ConfigurationProperties(prefix = "com.config")
    @Component
    public class MyConfig {
        private String name;
        public String getName(){
            return name;
        }
    }
    

      

    多环境配置

       在平时的开发中,项目会被部署到测试环境、生产环境,但是每个环境的数据库地址等配置信息都是不一样的,此时我们可以定义多个配置文件,名称遵循application-环境.properties,如下:

      

      在开发环境总,可以通过修改application.properties中的spring.profiles.active值来激活对应环境的配置,在部署时可以通过如下命令来执行使用对应的配置。

      java -jar xxx.jar --spring.profiles.active =dev
    
  • 相关阅读:
    ByteBuffer的mark、position、limit、flip、reset,get方法介绍ok
    java.nio.ByteBuffer的flip、rewind和compact几个方法的区分使用
    maven之一:maven安装和eclipse集成
    Java 8 函数式接口
    Lambda 表达式
    jdk8十大新的特性
    阿里巴巴73款开源产品列表,值得收藏
    【Java】java.util.Objects 工具类方法研究
    ARIMA 模型简单介绍
    python 二维数组取值
  • 原文地址:https://www.cnblogs.com/MrSaver/p/11439752.html
Copyright © 2011-2022 走看看