首页 > 数据库 >idea springboot 如何支持数据库配置 redis配置 支持不同环境(uat验证环境、测试环境)切换

idea springboot 如何支持数据库配置 redis配置 支持不同环境(uat验证环境、测试环境)切换

时间:2024-07-10 09:26:05浏览次数:12  
标签:springboot 配置文件 spring redis uat idea application password properties

在Spring Boot中,可以通过配置文件来支持数据库和Redis的配置,并支持不同环境的切换。以下是一些常用的方法:

  1. 创建配置文件:在src/main/resources目录下创建以下配置文件:

    • application.properties:通用配置文件
    • application-uat.properties:uat验证环境配置文件
    • application-test.properties:测试环境配置文件
  2. 配置数据库:在配置文件中添加以下属性:

    # application.properties
    # 数据库配置
    spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
    spring.datasource.username=root
    spring.datasource.password=123456
    

    # application-uat.properties
    # uat环境数据库配置
    spring.datasource.url=jdbc:mysql://uat-host:3306/mydatabase
    spring.datasource.username=uat-user
    spring.datasource.password=uat-password
    

    # application-test.properties
    # 测试环境数据库配置
    spring.datasource.url=jdbc:mysql://test-host:3306/mydatabase
    spring.datasource.username=test-user
    spring.datasource.password=test-password
    

  3. 配置Redis:在配置文件中添加以下属性:

    # application.properties
    # Redis配置
    spring.redis.host=localhost
    spring.redis.port=6379
    spring.redis.password=123456
    

    # application-uat.properties
    # uat环境Redis配置
    spring.redis.host=uat-host
    spring.redis.port=6379
    spring.redis.password=uat-password
    

    # application-test.properties
    # 测试环境Redis配置
    spring.redis.host=test-host
    spring.redis.port=6379
    spring.redis.password=test-password
    

  4. 创建配置类:创建一个Config类来加载配置文件,并通过@ConditionalOnProperty注解来根据环境切换配置。示例代码如下:

    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    @Configuration
    @PropertySource("classpath:application.properties")
    @ConditionalOnProperty(name = "spring.profiles.active", havingValue = "uat", matchIfMissing = true)
    public class UatConfig {
    }
    

    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    @Configuration
    @PropertySource("classpath:application.properties")
    @ConditionalOnProperty(name = "spring.profiles.active", havingValue = "test")
    public class TestConfig {
    }
    

    注意:@ConditionalOnProperty注解中的"spring.profiles.active"属性值应与spring.profiles.active配置保持一致。

  5. 启动应用程序:启动应用程序时,通过设置spring.profiles.active属性来指定使用的配置文件。例如,使用-Dspring.profiles.active=uat启动应用程序,即可使用uat环境的数据库和Redis配置。

通过以上步骤,你可以在不同环境中切换数据库和Redis配置。在实际开发中,可以根据需要添加更多的配置文件和配置类来支持更多的环境。

标签:springboot,配置文件,spring,redis,uat,idea,application,password,properties
From: https://blog.csdn.net/huanghm88/article/details/140313263

相关文章

  • 第三章 设计模式(2023版本IDEA)
    学习目标3.1设计模式概述3.2软件可复用问题和面向对象设计原则一、软件可复用问题二、面向对象设计原则1.单一责任原则(SingleResponsibilityPrinciple,SRP)2.开放-封闭原则(Open-ClosedPrinciple,OCP)3.里氏替换原则(LiskovSubstitutionPrinciple,LSP)4.依赖倒......
  • 2024年idea和IntelliJ系列激活码(持续更新)
      声明:仅供学习使用KQ8KMJ77TY-eyJsaWNlbnNlSWQiOiJLUThLTUo3N1RZIiwibGljZW5zZWVOYW1lIjoiVW5pdmVyc2l0YXMgTmVnZXJpIE1hbGFuZyIsImxpY2Vuc2VlVHlwZSI6IkNMQVNTUk9PTSIsImFzc2lnbmVlTmFtZSI6IkpldOWFqOWutuahtiDorqTlh4blupflkI0iLCJhc3NpZ25lZUVtYWlsIjoibmtucWFyY214a0A......
  • 记一次springboot整合rabbitMQ的list序列化问题
    问题:平时传一个类的时候都会继承Serializable实现正确传输,这次我把list<Object>直接丢成了message,导致rabbitMQ不能序列化对象。报错org.springframework.amqp.rabbit.support.ListenerExecutionFailedException:Failedtoconvertmessage下面的整合步骤提供了解决方案:在发......
  • Redis面试题
    Redis面试题一、Redis缓存1、缓存预热、缓存穿透、缓存雪崩、缓存击穿2、redis作为缓存,MySQL的数据如何与缓存进行同步(保证双写一致性)3、redis作为缓存,如何持久化数据?4、redis的key过期后会立即删除吗?(redis的数据过期策略)5、假如缓存过多,内存有限,被占满了怎么办?(redis的数......
  • Java毕设基于Vue+SpringBoot的汽车租赁管理系统(代码+数据库+文档LW+运行成功)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,通过线上管理汽车租赁的方式出现......
  • Java毕设基于Vue+SpringBoot的汽车服务管理系统(代码+数据库+文档LW+运行成功)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言随着社会的发展,汽车服务的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但汽车服务信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得汽车服务信息,因此,设计一种......
  • Java毕设基于Vue+SpringBoot的校园失物招领平台(代码+数据库+文档LW+运行成功)
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对......
  • 基于SpringBoot+Vue+uniapp的酒店客房管理系统的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的干洗店预约洗衣系统的详细设计和实现(源码+lw+部署文档+
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • Java毕设基于Vue+SpringBoot的校园台球厅人员与设备管理系统(代码+数据库+文档LW+运行
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括校园台球厅人员与设备管理系统的网络应用,在外国管理系统已经是很普遍的方式,不过国内的管理网站可能......