SpringBoot常用配置
SpringBoot常用配置
SpringBoot通过application.properties
或application.yml
文件提供丰富的配置选项,涵盖服务器、数据库、日志、安全等模块。以下是常见配置分类及示例:
服务器配置
server.port=8080 # 修改默认端口
server.servlet.context-path=/api # 设置上下文路径
server.ssl.enabled=true # 启用HTTPS
server.ssl.key-store=classpath:keystore.p12 # SSL证书路径
数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update # Hibernate自动更新表结构
日志配置
logging.level.root=INFO # 全局日志级别
logging.level.org.springframework.web=DEBUG # 特定包日志级别
logging.file.name=app.log # 日志文件输出路径
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n # 控制台格式
缓存配置
spring.cache.type=redis # 使用Redis缓存
spring.redis.host=localhost
spring.redis.port=6379
spring.cache.redis.time-to-live=600000 # 缓存过期时间(毫秒)
跨域配置
spring:mvc:cors:mappings:- path: /**allowed-origins: "*"allowed-methods: GET,POST
配置文件多环境切换
# application-dev.properties
spring.profiles.active=dev # 激活开发环境配置
# application-prod.properties
spring.profiles.active=prod # 激活生产环境配置
自定义配置
app.max-page-size=50 # 自定义参数
app.file-upload-dir=/tmp/uploads
通过@Value
注解或@ConfigurationProperties
绑定使用自定义配置:
@Value("${app.max-page-size}")
private int maxPageSize;@ConfigurationProperties(prefix = "app")
public class AppConfig {private String fileUploadDir;// getter/setter
}
在yaml中
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mycnblog?characterEncoding=utf8&useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Drivermvc:favicon:enable: falseprofiles: #多平台配置active: dev
# 设置 Mybatis 的 xml 保存路径
mybatis:mapper-locations: classpath:mapper/*Mapper.xmlconfiguration: # 配置打印 MyBatis 执行的 SQLlog-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true #自动驼峰转换
# 配置打印 MyBatis 执行的 SQL
logging:file:name: logs/springboot.loglogback:rollingpolicy:max-file-size: 1KBfile-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%ilevel:com:example:demo: debug