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

 

posted @ 2019-08-31 17:20  子烁爱学习  阅读(289)  评论(0编辑  收藏  举报