004-SpringSecurity-Demo 拆分环境

SpringSecurity-Demo 拆分环境

前言

将单环境配置 application.yml 按 Profile 拆分为 application-dev.yml(开发)与 application-prod.yml(生产),实现配置环境隔离。

  • 拆分后的项目结构如下:

实施

代码已推送至 Gitee 仓库:springdecurity-demo

  1. resources 文件夹中,新建两个配置文件applicaiton-dev.ymlapplication-prod.yml
  • application-dev.yml 文件内容参考:
xml 复制代码
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/security?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=
    username: root
    password: 123456

junjiu:
  custom:
    resource-path: ./file
  • application-prod.yml 文件内容参考:
xml 复制代码
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/security?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=
    username: root
    password: 123456
  1. 修改 application.yml 文件,内容如下:
xml 复制代码
server:
  port: 5826

spring:
  profiles:
    active: dev
  application:
    name: security-demo

logging:
  level:
    # 日志级别:debug < info < warn < error
    com.junjiu.springboot3: debug
    org.springframework: warn
  1. 添加 ApplicationConfig 配置类

@Profile("dev") 注解可激活 Bean 适配哪个环境

java 复制代码
@Configuration
public class ApplicationConfig {
    @Bean
    @Profile("dev") // 非生产环境使用
    public Jackson2ObjectMapperBuilderCustomizer customizer() {
        return new Jackson2ObjectMapperBuilderCustomizer() {
            @Override
            public void customize(Jackson2ObjectMapperBuilder builder) {
                builder.indentOutput(true);
            }
        };
    }

    // 设置时区,为系统默认时区
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return new Jackson2ObjectMapperBuilderCustomizer() {
            @Override
            public void customize(Jackson2ObjectMapperBuilder builder) {
                builder.timeZone(TimeZone.getDefault());
            }
        };
    }
}
相关推荐
wdfk_prog7 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长8 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
这个DBA有点耶10 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_11 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky11 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
云云只是个程序马喽13 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
C137的本贾尼14 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
Flittly14 小时前
【AgentScope Java新手村系列】(19)多模态-图像音频视频
java·spring boot·spring
Javatutouhouduan14 小时前
国内大厂Java面试高频题库(2026突击版)
java·架构师·java面试·java面试题·后端开发·java程序员·java八股文
Tim_1014 小时前
【C++】017、new/delete与malloc/free的区别
java·数据结构·算法