SpringBoot——多环境配置文件、自定义配置文件的创建

简介: SpringBoot——多环境配置文件、自定义配置文件的创建

文章目录:


1.多环境配置文件的创建

1.1 dev

1.2 product

1.3 ready

1.4 test

1.5 核心配置文件

1.6 控制器类

1.7 入口类

2.自定义配置文件的创建

2.1 @Value

2.2 @ConfigurationProperties

2.2.1 自定义配置文件

2.2.2 自定义一个类,获取自定义配置文件中的属性值

2.2.3 控制器类

2.2.4 入口类

1.多环境配置文件的创建


在实际开发的过程中,我们的项目会经历很多的阶段(开发->测试->上线),每个阶段的配置也会不同,例如:端口、上下文根、数据库等,那么这个时候为了方便在不同的环境之间切换,SpringBoot 提供了多环境配置,具体步骤如下:👇👇👇

1.1 dev

  #开发环境配置文件
  server.port=8080
  server.servlet.context-path=/dev

1.2 product

  #生产环境配置文件
  server.port=8083
  server.servlet.context-path=/product

1.3 ready

  #准生产环境配置文件
  server.port=8082
  server.servlet.context-path=/ready

1.4 test

  #测试环境配置文件
  server.port=8081
  server.servlet.context-path=/test

1.5 核心配置文件

  #springboot核心配置文件
  spring.profiles.active=test

1.6 控制器类

package com.songzihao.springboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 *
 */
@Controller
public class IndexController {
    @RequestMapping(value = "/say")
    @ResponseBody
    public String say() {
        return "Hello springboot multi-environments";
    }
}

1.7 入口类

package com.songzihao.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

springboot核心配置文件中,使用 spring.profiles.active=XXX,就可以指定其中的某一个配置文件。

spring.profiles.active=dev 👇👇👇

spring.profiles.active=test 👇👇👇

2.自定义配置文件的创建


SpringBoot 的核心配置文件中,除了使用内置的配置项之外,我们还可以在自定义配置,然后采用如下注解去读取配置的属性值。


2.1 @Value

在核心配置文件 applicatin.properties中,添加两个自定义配置项 school.name website。在 IDEA 中可以看到这两个属性不能被 SpringBoot 识别,背景是桔色的 

在核心配置文件 applicatin.yml 中,添加两个自定义配置项 school.name website


测试代码如下:👇👇👇

2.2 @ConfigurationProperties

2.2.1 自定义配置文件

#设置内嵌Tomcat端口号
server.port=8080
#设置上下文根
server.servlet.context-path=/
first.name=tencent
first.website=https://www.tencent.com
second.name=baidu
second.website=https://www.baidu.com

2.2.2 自定义一个类,获取自定义配置文件中的属性值

@ConfigurationProperties(prefix = "first") 这个注解,相当于获取到属性的前缀名,first.namefirst.website

package com.songzihao.springboot.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 *
 */
@Component
@ConfigurationProperties(prefix = "first")
public class First {
    private String name;
    private String website;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getWebsite() {
        return website;
    }
    public void setWebsite(String website) {
        this.website = website;
    }
}

2.2.3 控制器类

package com.songzihao.springboot.controller;
import com.songzihao.springboot.config.First;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 *
 */
@Controller
public class IndexController {
    @Autowired
    private First first;
    @RequestMapping(value = "/say")
    @ResponseBody
    public String say() {
        return "first.name===" + first.getName() + " , first.website===" + first.getWebsite();
    }
}

2.2.4 入口类

package com.songzihao.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 

相关文章
|
1月前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
91 1
SpringBoot获取项目文件的绝对路径和相对路径
|
1月前
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
46 11
|
2月前
|
XML Java Kotlin
springboot + minio + kkfile实现文件预览
本文介绍了如何在容器中安装和启动kkfileviewer,并通过Spring Boot集成MinIO实现文件上传与预览功能。首先,通过下载kkfileviewer源码并构建Docker镜像来部署文件预览服务。接着,在Spring Boot项目中添加MinIO依赖,配置MinIO客户端,并实现文件上传与获取预览链接的接口。最后,通过测试验证文件上传和预览功能的正确性。
112 4
springboot + minio + kkfile实现文件预览
|
1月前
|
Java 数据库连接 数据库
springboot启动配置文件-bootstrap.yml常用基本配置
以上是一些常用的基本配置项,在实际应用中可能会根据需求有所变化。通过合理配置 `bootstrap.yml`文件,可以确保应用程序在启动阶段加载正确的配置,并顺利启动运行。
118 2
|
1月前
|
存储 前端开发 JavaScript
|
1月前
|
存储 Java API
|
1月前
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
97 3
|
2月前
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
148 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
|
1月前
|
Java
SpringBoot获取文件将要上传的IP地址
SpringBoot获取文件将要上传的IP地址
36 0
|
2月前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
39 0