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月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
271 3
|
8月前
|
XML Java Maven
springboot-多环境配置文件
本文介绍了如何创建开发和生产环境的配置文件,并在IDEA和Maven中进行配置。开发环境中,通过设置profile为`dev`来指定配置文件;生产环境中,使用Maven命令参数`-Pprod`打包并指定配置文件。公共配置可放在`application.yml`中统一管理。日志配置需确保`logback-spring.xml`中的profile正确,以保证日志正常输出。
493 4
springboot-多环境配置文件
|
8月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2120 1
|
9月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler("/img/**").addResourceLocations("file:E:\\myProject\\forum_server\\")`配置,使前端可通过URL直接访问图片。
585 0
Springboot静态资源映射及文件映射
|
8月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
8月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
351 0
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
199 11
|
Java 数据库连接 数据库
springboot启动配置文件-bootstrap.yml常用基本配置
以上是一些常用的基本配置项,在实际应用中可能会根据需求有所变化。通过合理配置 `bootstrap.yml`文件,可以确保应用程序在启动阶段加载正确的配置,并顺利启动运行。
1578 2
|
存储 前端开发 JavaScript
下一篇
oss云网关配置