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());
            }
        };
    }
}
相关推荐
Carsene4 分钟前
开篇:我们距离理想的 Java SQL DSL 还有多远?
java·sql
敖正炀4 分钟前
集合-List-LinkedList
java
AI人工智能+电脑小能手5 分钟前
【大白话说Java面试题】【Java基础篇】第9题:HashMap根据key查询元素的时间复杂度是多少
java·开发语言·数据结构·后端·面试·哈希算法·哈希表
invicinble8 分钟前
对于java面向对象的知识
java·开发语言
铭彩色11 分钟前
refresh token(保证access token获取及用户安全)
java·安全
2501_9130613412 分钟前
网络原理知识(6)
java·网络·网络协议·面试
invicinble13 分钟前
java面向对象的学习主线
java·开发语言·学习
Devin~Y14 分钟前
大厂Java面试实战:Spring Boot/Cloud + Redis/Kafka + K8s + RAG/Agent 追问全流程(小Y翻车记)
java·spring boot·redis·spring cloud·kafka·kubernetes·micrometer
桌面运维家19 分钟前
vDisk虚拟磁盘隐藏指定系统操作指南
java·开发语言
Lyyaoo.22 分钟前
JWT 令牌(待更新)
java·前端·javascript