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());
            }
        };
    }
}
相关推荐
我命由我1234524 分钟前
Jetpack Compose - MaterialExpressiveTheme 与 MaterialTheme、ColorScheme
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
晚安code34 分钟前
Java 异常与日志规范:错误码、异常处理、日志规约一次讲清
java
深海呐1 小时前
仓颉语言是ArkTs的上层语言吗?就像kotlin和Java
java·开发语言·kotlin·仓颉
隔窗听雨眠1 小时前
OceanBase旁路导入与自增主键冲突深度解析:原理、排查与解决方案
java·服务器·数据库
白露与泡影1 小时前
聊聊物联网Java后端的核心技术难点(水表/电表/充电桩实战)
java·开发语言·物联网
lilian2331 小时前
Harmony os 技术实战|拼豆制图06:收藏 ID、生成记录与重启恢复怎么不打架
android·java·数据库·harmonyos
2601_955759621 小时前
ClaudeAPI成本中心与业务标签设计指南
android·java·数据库
雾喔2 小时前
算法练习7
java·数据结构·算法
掉鱼的猫3 小时前
跳出 Fatjar 的束缚:Solon 插件的体外扩展(E-Spi)与热插拔(H-Spi)
java
Bill FANG3 小时前
从原生Java NIO到Netty重构:充电桩Socket服务端高性能改造实战
java·重构·nio