SpringSecurity-Demo 拆分环境
前言
将单环境配置 application.yml 按 Profile 拆分为 application-dev.yml(开发)与 application-prod.yml(生产),实现配置环境隔离。
- 拆分后的项目结构如下:

实施
代码已推送至 Gitee 仓库:springdecurity-demo
- 在
resources文件夹中,新建两个配置文件applicaiton-dev.yml、application-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
- 修改
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
- 添加
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());
}
};
}
}
- 代码已推送至 Gitee 仓库:springdecurity-demo
- 若有转载,请标明出处: