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());
            }
        };
    }
}
相关推荐
liangshanbo121516 分钟前
虚拟列表深度面试题整理
java·开发语言·前端
gugucoding27 分钟前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
10mAh1 小时前
【Java】HashMap 的 put 到底做了什么?——冲突、扩容与树化实测
java·开发语言·hash
我命由我123452 小时前
人脸识别 - 勒克斯(光线照射到物体表面上的明亮程度)
android·java·学习·java-ee·人脸识别·学习方法·android runtime
TechLee2 小时前
跨语言加解密总对不上?这个纯 Go 神库让 AES/RSA 与 PHP、Java 100% 互通
java·后端·算法
LINgZone22 小时前
系统架构与分支规范
java·数据库·架构
AC赳赳老秦3 小时前
企业级合规审计体系:用 OpenClaw 落地采集全链路留痕,自动生成合规审计报告
java·python·django·beautifulsoup·php·deepseek·openclaw
吃杠碰小鸡3 小时前
VsCode中开发Java项目
java·vscode
宠友信息4 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app