美文网首页
Spring Boot (二)配置文件

Spring Boot (二)配置文件

作者: 司鑫 | 来源:发表于2017-07-10 20:53 被阅读78次

Spring Boot 是使用了“习惯优于配置”(Spring Boot 会默认给我们做一些全局配置)的理念,从而可以快速的让我们的项目跑起来,但当我们想要自己对这些配置进行修改时,我们就需要去修改 Spring Boot 的配置文件了application.properties

application.properties 文件放在 src/main/resources 或类路径的/config 目录下,如果创建的只是一个普通的 web 项目的话是没有这个配置文件的,需要我们自己去创建。

一 自定义属性及使用


application.properties

使用键值对的形式来定义我们需要的属性


application.properties

HelloWorldControlle.java

使用注解@value(“${paramName}")来注入属性值

HelloWorldControlle.java

这种方式对于单个的属性注入来说会很方便,但是如果是一个 bean ,它有很多的属性,那么我们就可以采取绑定的方式将键值对集合绑定到一个 bean 上。

application.properties

com.name=acey
com.gender=male

user.java

@ConfigurationProperties(prefix = "com")
public class User {
    private String name;
    private String gender;

"setter / getter 省略"

其中 prefix 是我们在 application.properties 中配置的键值对的前缀,除了在我们需要绑定的 bean 上加注解之外,我们还需要在 Spring Boot 的启动入口类中加上注解 @EnableConfigurationProperties({User.class})

@Controller
@SpringBootApplication
@Configuration
@EnableConfigurationProperties({User.class})
public class HelloWorldApplication {
 ......
}

注:每个键对应的值都可以是另外一个键。比如

com.name=acey
com.gender=male
com.own=我是${com.name},我的性别是${com.gender}

Spring Boot 提供的随机值配置,避免了我们去用代码去生成

com.secret=${random.value}
com.number=${random.int}
com.bignumber=${random.long}
com.uuid=${random.uuid}
com.number.less.than.ten=${random.int(10)}
com.number.in.range=${random.int[1024,2048]}

二 自定义配置文件


我们除了在 application.properties 中去配置,我们还可以自定义一些配置文件,对于我们自定义的配置文件,我们也需要在 Spring Boot 的启动类中引入@PropertySource()


@Controller
@SpringBootApplication
@Configuration
@PropertySource("classpath:test.properties")
public class HelloWorldApplication {
  ...
}

三 多环境配置


在项目开发中,在不同的阶段,项目所需要的配置的文件是不同的,比如数据库地址,服务器端口等。一般情况下,对于多环境的配置,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,Spring Boot也不例外,或者说更加简单。

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

  • application-dev.properties:开发环境
  • application-test.properties:测试环境
  • application-prod.properties:生产环境

至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

比如:spring.profiles.active=test就会加载application-test.properties配置文件内容

相关文章

网友评论

      本文标题:Spring Boot (二)配置文件

      本文链接:https://www.haomeiwen.com/subject/owuuhxtx.html