springboot系列教程2:springboot配置文件读取

上一篇博客中,我们已经通过一个hello world见识到了springboot搭建web项目的便捷性,我们可以发现springboot干掉了xml,省掉了很多工作,但是实际上springboot也并未做到零配置,他只是遵循约定优于配置。在实际开发中,我们仍然会遇到自定义属性,自定义配置等等问题,那么springboot是如何实现的呢。

一 自定义属性配置

  1. 引入依赖
    我们仍然以上一篇博客中的demo为例,在原有的pom文件中引入如下依赖
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- json依赖包 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.46</version>
        </dependency>
        <!-- lombok依赖包,简化setget方法 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

这里说明附带说明一下springboot的目录结构以及作用

目录作用
src代码层目录
resources资源根目录
resources/application.yml(application.properties)项目配置文件
resources/static/静态资源目录,用于存放css,js,html,图片等
resources/templates/视图模板目录,用于存放thymeleaf等模板文件
  1. 定义属性

    下面我们开始在原有的application.properties中定义属性

test1.age=41
test1.name=kobe

那我们怎么才能获取到对应的内容呢?

  1. 书写代码

    接着,我们定义一个TestProperties1.java,用来映射我们在application.properties文件中定义的属性
    在这里插入图片描述
    然后我们定义一个PropertiesController.java 注入TestProperties 测试我们所写的代码
    在这里插入图片描述
    允许我们的代码,然后访问http://localhost:8080/properties/1 (注意上一篇博客中提到过,springboot默认启动端口为8080)
    在这里插入图片描述
    二 自定义配置文件

上面讲述的方法都是在原有的application配置文件中,但是在实际开发中,我们通常不会在这个文件里面定义太多东西,通常会提取出不同的配置文件,那么这时候该怎么办呢?

  1. 创建test2.properties文件
    在这里插入图片描述

  2. 定义TestProperties2.java
    在这里插入图片描述

  3. 在之前的PropertiesController.java中注入
    在这里插入图片描述

  4. 运行代码,访问http://localhost:8080/properties/2 在这里插入图片描述

三 多环境配置
在实际项目中,我们通常会有很多个环境,比如开发环境,测试环境,预发布环境,生产环境等等,在不同环境中可能启动端口,数据库配置,redis配置等都不一样,难道我们每次发布到不同的环境都要修改application里面那么多内容吗?实际上是不需要的,这时候就可以用到强大的spring.profiles.active.它的格式为application-{profile}.properties,这里的application为前缀不能改,{profile}是我们自己定义的。

  1. 分别创建application-dev.properties,application-test.properties,application-pro.properties.
  2. 在配置三个文件中使用server.port将端口分别设置为,8081,8082,8083.
  3. 在application.properties中使用spring.profiles.active=dev。启动项目,会发现控制台启动信息中启动端口为8081。剩下的测试和生产环境同理,小伙伴自己试试吧
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值