SpringBoot(二)SpringBoot多环境配置

Spring框架常用注解简单介绍
SpringMVC常用注解简单介绍
SpringBoot(一)创建一个简单的SpringBoot工程
SpringBoot(二)SpringBoot多环境配置
SpringBoot(三)SpringBoot整合MyBatis
SpringBoot(四)SpringBoot整合 Redis

SpringBoot配置文件介绍

SpringBoot的配置文件用于配置SpringBoot程序,有两种格式的配置文件:

  1. .properties文件
  2. .yml文件
创建application.properties配置文件

.properties配置文件

复制代码
# 设置端口号
server.port=8080
# 设置服务名称
spring.application.name=service-product

# 设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称
spring.server.context-path=/springbootdemo
server.servlet.context-path=/springbootdemo

启动工程,然后打开浏览器输入:http://localhost:8080/springbootdemo/product/12

SpringBoot多环境配置

我们可以指定SpringBoot的激活配置文件。如果主配置文件中指定了激活的配置文件,那么即使在主配置文件中指定了配置信息,还是优先使用激活文件中的配置信息,如果激活文件中没有,就去主配置文件中去查找。

我们先创建多个环境的配置文件

配置文件

  1. application-dev.properties

    server.port=8081
    spring.application.name=service-product

    spring.server.context-path=/springbootdemo
    server.servlet.context-path=/springbootdemo

  2. application-test.properties

    server.port=8082
    spring.application.name=service-product

    spring.server.context-path=/springbootdemo
    server.servlet.context-path=/springbootdemo

  3. application-pro.properties

    server.port=8088
    spring.application.name=service-product

    spring.server.context-path=/springbootdemo
    server.servlet.context-path=/springbootdemo

  4. 修改application.properties,指定激活的配置文件

    设置端口号

    #server.port=8080

    设置服务名称

    #spring.application.name=service-product

    设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称

    #spring.server.context-path=/springbootdemo
    #server.servlet.context-path=/springbootdemo

    #指定激活的配置文件
    spring.profiles.active=dev

打开浏览器输入:http://localhost:8081/springbootdemo/product/12(此时访问的是dev环境,端口变成了8081)

SpringBoot自定义配置

我们可以再SpringBoot配置文件中添加一些自定义配置,然后通过@Value读取配置的属性值。

复制代码
## 设置端口号
#server.port=8080
## 设置服务名称
#spring.application.name=service-product
#
## 设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称
#spring.server.context-path=/springbootdemo
#server.servlet.context-path=/springbootdemo

#指定激活的配置文件
spring.profiles.active=dev

#自定义配置
product.name=SpringBootDemo

使用@Value在Dao中读取自定义配置的属性值

复制代码
@Repository
public class ProductDao {

    @Value("${product.name}")
    private String name;

    public Product getProductById(String id) {
        Product product = new Product();
        product.setId(id);
        product.setName(name);
        product.setPrice(13.6);
        return product;
    }

}

启动工程,然后打开浏览器输入:http://localhost:8081/springbootdemo/product/12

接口返回:

复制代码
{
"id": "12",
"name": "SpringBootDemo",
"price": 13.6
}

最后编辑于:2020-08-19 16:27
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
小bo波7 小时前
从"任意文件复制"深挖Java I/O:字符流与字节流的本质抉择
java·nio·io流·后端开发·文件复制
zzzzzz31016 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode16 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
JieE2121 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
nanxun8861 天前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103511 天前
Day01 | Java 基础(Java SE)
java
行者全栈架构师1 天前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师2 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_02 天前
mac(m5)平台编译openjdk
java
JieE2122 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试