SpringBoot|配置文件

全局配置文件

全局配置文件能够对一些默认配置值进行修改。Spring Boot使用一个application.properties或者application.yaml的文件作为全局配置文件,该文件存放在src/main/resource目录或者类路径的/config,一般会选择resource目录。接下来,将针对这两种全局配置文件进行讲解∶

application.properties配置文件

使用Spring lnitializr方式构建Spring Boot项目时,会在resource目录下自动生成一个空的application.properties文件,Spring Boot项目启动时会自动加载application.properties文件。我们可以在application.properties文件中定义Spring Boot项目的相关属性,当然,这些相关属性可以是系统属性、环境变量、命令参数等信息,也可以是自定义配置文件名称和位置。

server.port=17006
spring.config.name=zjq
spring.application.name=zjq-properties
spring.redis.host=localhost
spring.redis.port=6039
spring.redis.password=
spring.redis.database=0
复制代码

接下来,通过一个案例对Spring Boot项目中application.properties配置文件的具体使用进行讲解。 演示:准备两个实体类文件,演示将application.properties配置文件中的自定义配置属性注入到PropertiesConfig实体类的对应属性中

  1. 创建两个实体类Goods和PropertiesConfig
@Data
public class Goods {

    private Integer id;
    private String name;
}

@ConfigurationProperties(prefix = "zjq-prop")
@Component
@Data
public class PropertiesConfig {

    private Integer id;
    private String username;
    private List hobby;
    private String[] family;
    private Map map;
    private Goods goods;
}
复制代码

@ConfigurationProperties: 将配置文件中以zjqProp开头的属性通过setXxx方法注入到该类的属性中 @Component: 把PropertiesConfig类作为Bean到spring容器中,只有这样才能@ConfigurationProperties注解进行赋值

  1. 在resources目录下创建的application.properties文件配置如下:

编写application.properties配置文件时,由于要配置的PropertiesConfig对象属性是我们自定义的,Spring Boot无法自动识别,所以不会有任何书写提示。在实际开发中,为了出现代码提示的效果来方便配置,在使用@ConfigurationProperties注解进行配置文件属性值注入时,可以在pom.xml文件中添加一个SpringBoot提供的配置处理器依赖:

<!--自定义配置提示-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <optional>true</optional>
</dependency>
复制代码

在pom.xml中添加上述配置依赖后,还需要重新运行项目启动类或者使用“Ctrl+F9"快捷键(即BuildProject)重构当前Spring Boot项目方可生效。 效果如下:

  1. 查看application.properties配置文件是否正确,同时查看属性配置效果,创建项目测试类,在该测试类中引入PropertiesConfig实体类Bean,并进行输出测试。
@RunWith(SpringRunner.class) // 测试启动类,并加载Spring Boot测试注解
@SpringBootTest //标记为SpringBoot测试类,并加载ApplicationContext上下文环境
public class ConfigTest {

    @Autowired
    private PropertiesConfig propertiesConfig;
    @Test
    public void propertiesConfigTest(){
        System.out.println(propertiesConfig);
    }
}
复制代码

输出如下:

至此,说明application.properties配置文件属性配置正确,并通过相关注解自动完成了属性注入。

application.yaml配置文件

YAML文件格式是Spring Boot支持的一种JSON超集文件格式,相较于传统的Properties配置文件,YAML文件以数据为核心࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值