Springboot基础知识(06)- 配置文件 application.properties 常用参数
1. Spring 基本属性
1) 应用配置 (SpringApplication)
# 运行时显示的横幅(Banner)
spring.banner.charset=UTF-8 # banner 文件编码
spring.banner.location=banner.txt # banner 文件位置
spring.main.banner-mode=console # 横幅(banner)的模式,可选值:off、console、log
spring.config.name=application # 配置文件名
spring.config.location= # 配置文件位置
spring.aop.auto=true # AOP 切面,添加 @EnableAspectJAutoProxy
spring.aop.proxy-target-class=false # 是否要创建基于子类(CGLIB)的代理(true),而不是基于标准的基于Java接口的代理(false)
spring.autoconfigure.exclude= # 自动配置类排除
spring.beaninfo.ignore= true # 跳过搜索BeanInfo类
2) Spring 缓存配置
spring.cache.cache-names= # 由底层缓存管理器支持的要创建的缓存名称的逗号分隔列表
spring.cache.ehcache.config= # 用于初始化 EhCache 的配置文件的位置
spring.cache.guava.spec= # 用于创建缓存的规范,检查 CacheBuilderSpec 有关规格格式的更多细节
spring.cache.hazelcast.config= # 用于初始化 Hazelcast的 配置文件的位置
spring.cache.infinispan.config= # 用于初始化 Infinispan 的配置文件的位置
spring.cache.jcache.config= # 用于初始化缓存管理器的配置文件的位置
spring.cache.jcache.provider= # 用于检索符合 JSR-107 的缓存管理器的 CachingProvider 实现的完全限定名称
spring.cache.type= # 缓存类型,默认情况下根据环境自动检测
3) Redis 配置 (RedisProperties)
spring.redis.database=0 # 连接工厂使用的数据库索引
spring.redis.host=localhost # Redis 服务器主机
spring.redis.port=6379 # Redis 服务器端口
spring.redis.password= # 登录 Redis 服务器的密码
spring.redis.timeout=0 # 连接超时(毫秒)
spring.redis.pool.max-active=8 # 给定时间池可以分配的最大连接数,使用负值为无限制
spring.redis.pool.max-idle=8 # 池中 “空闲” 连接的最大数量,使用负值来表示无限数量的空闲连接
spring.redis.pool.max-wait=-1 # 连接分配在池耗尽之前在抛出异常之前应阻止的最大时间量(以毫秒为单位),使用负值无限期地阻止
spring.redis.pool.min-idle=0 # 定义池中维护的最小空闲连接数,此设置只有在正值时才有效果
spring.redis.sentinel.master=
spring.redis.sentinel.nodes=
4) Email 配置 (MailProperties)
spring.mail.jndi-name= # 会话JNDI名称。设置时,优先于其他邮件设置
spring.mail.protocol=smtp # SMTP服务器使用的协议
spring.mail.host= # SMTP服务器主机,例如 'smtp.example.com'
spring.mail.port= # SMTP服务器端口
spring.mail.username= # 登录SMTP服务器的用户
spring.mail.password= # 登录SMTP服务器的密码
spring.mail.default-encoding=UTF-8 # 默认 MimeMessage 编码
spring.mail.properties.*= # 其他 JavaMail 会话属性
spring.mail.test-connection=false # 测试邮件服务器在启动时可用
5) 国际化 (MessageSourceAutoConfiguration)
spring.messages.basename=messages # 以逗号分隔的基础名称列表,每个都在ResourceBundle约定之后
spring.messages.cache-seconds=-1 # 加载的资源束文件缓存到期,以秒为单位。 设置为-1时,软件包将永久缓存
spring.messages.encoding=UTF-8 # 消息编码
spring.messages.fallback-to-system-locale=true # 设置是否返回到系统区域设置,如果没有找到特定语言环境的文件
6) 日志配置 (LOGGING)
logging.config= # 日志配置文件的位置,例如 Logback 的 'classpath:logback.xml'
logging.file= # 日志文件名,例如 'myapp.log'
logging.level.*= # 日志级别严重性映射,例如 'logging.level.org.springframework=DEBUG'
logging.path= # 日志文件的位置,例如 '/var/log'
logging.pattern.file= # 用于输出到文件的 Appender 模式,只支持默认的 logback 设置
logging.pattern.level= # 日志级别的Appender模式(默认%5p),只支持默认的logback设置
logging.pattern.console= # 用于输出到控制台的 Appender 模式,只支持默认的logback设置
logging.register-shutdown-hook=false # 注册日志记录系统的初始化挂钩
logging.exception-conversion-word= # %wEx#记录异常时使用的转换字
2. Web 属性
1)嵌入式 Web 容器配置
server.display-name=application # 显示应用程序的名称
server.address=localhost # 服务器应绑定到的网络地址
server.port=8080 # 服务器HTTP端口
server.compression.enabled=false # 是否启用响应压缩
server.compression.mime-types= # MIME类型的逗号分隔列表,例如 'text/html,application/json'
server.compression.min-response-size= # 执行压缩所需的最小响应大小。 例如2048
server.compression.excluded-user-agents= # 从压缩中排除的用户代理列表
server.error.path=/error # 错误控制器的路径
server.error.whitelabel.enabled=true # 启动浏览器中出现服务器错误时显示的默认错误页面
server.error.include-stacktrace=never # 何时包含 “stacktrace” 属性
server.context-path= # 应用程序的上下文路径
server.context-parameters.*= # Servlet上下文初始化参数。 例如 'server.context-parameters.a= test'
server.servlet-path=/ # 主调度程序servlet的路径
server.jsp-servlet.class-name=org.apache.jasper.servlet.JspServlet # JSP servlet的类名
server.jsp-servlet.registered=true # JSP servlet 是否被注册
server.jsp-servlet.init-parameters.*= # Init 参数用于配置 JSP servlet
# Session 配置
server.session.timeout=60 # 会话超时(秒)
server.session.store-dir= # 用于存储会话数据的目录
server.session.persistent=false # 重启之间持续会话数据
server.session.tracking-modes= # 会话跟踪模式(以下一个或多个:“cookie”,“url”,“ssl”)
server.session.cookie.name= # 会话cookie名称
server.session.cookie.path= # 会话cookie的路径
server.session.cookie.domain= # 会话cookie的域
server.session.cookie.comment= # 会话cookie的注释
server.session.cookie.http-only= # “HttpOnly” 标志为会话 cookie
server.session.cookie.max-age= # 会话cookie的最大时长(以秒为单位)
server.session.cookie.secure= # 会话cookie的 “安全” 标志
# Tomcat 配置
server.tomcat.basedir= # Tomcat基本目录。如果未指定,将使用临时目录
server.tomcat.uri-encoding=UTF-8 # 用于解码URI的字符编码
server.tomcat.max-threads=0 # 最大工作线程数
server.tomcat.background-processor-delay=30 # 在调用 backgroundProcess 方法之间延迟秒
server.tomcat.internal-proxies= # 正则表达式匹配可信IP地址
server.tomcat.max-http-header-size=0 # HTTP消息头的最大大小(以字节为单位
server.tomcat.remote-ip-header= # 提取远程ip的HTTP头的名称。 例如`X-FORWARDED-FOR`
server.tomcat.port-header=X-Forwarded-Port # 用于覆盖原始端口值的HTTP头的名称。
server.tomcat.protocol-header= # 头文件,保存传入协议,通常命名为“X-Forwarded-Proto”
server.tomcat.protocol-header-https-value=https # 表示传入请求使用SSL的协议头的值
server.tomcat.accesslog.enabled=false # 启用访问日志
server.tomcat.accesslog.directory= # 创建日志文件的目录。可以相对于tomcat base dir或absolute。
server.tomcat.accesslog.pattern=common # 访问日志的格式化模式
server.tomcat.accesslog.prefix=access_log # 日志文件名前缀
server.tomcat.accesslog.suffix=.log # 日志文件名后缀
# SSL 配置
server.ssl.ciphers= # 支持SSL密码
server.ssl.client-auth= # 客户端认证是否需要(“want”)或需要(“need”)。 需要信任存储。
server.ssl.enabled=
server.ssl.protocol=
server.ssl.key-alias=
server.ssl.key-password=
server.ssl.key-store=
server.ssl.key-store-password=
server.ssl.key-store-provider=
server.ssl.key-store-type=
server.ssl.trust-store=
server.ssl.trust-store-password=
server.ssl.trust-store-provider=
server.ssl.trust-store-type=
2) HTTP 配置
spring.http.encoding.enabled=true # 启用http编码支持
spring.http.encoding.charset=UTF-8 # HTTP请求和响应的字符集。 如果未明确设置,则添加到“Content-Type” 头
spring.http.encoding.force=true # 将编码强制到HTTP请求和响应上配置的字符集
spring.http.converters.preferred-json-mapper=jackson # HTTP 消息转换,首选JSON映射程序用于HTTP消息转换,Gson,Jackson
3) 文件上传属性
multipart.enabled=true # 启用对文件上传的支持
multipart.location= # 上传文件的位置
multipart.max-file-size=2Mb # 最大文件大小,使用后缀 MB 或 KB
multipart.max-request-size=10Mb # 最大请求大小,使用后缀 MB 或 KB
multipart.file-size-threshold=0 # 将文件写入磁盘后的阈值,使用后缀 MB 或 KB
4) Spring MVC 配置
spring.mvc.view.prefix= # Spring MVC视图前缀
spring.mvc.view.suffix= # Spring MVC视图后缀
spring.mvc.date-format= # 要使用的日期格式。 例如 'dd/MM/yyyy'
spring.mvc.locale= # 要使用的区域设置
spring.mvc.async.request-timeout= # 异步请求处理超时之前的时间量(以毫秒为单位)
spring.mvc.dispatch-trace-request=false # 发送 TRACE 请求到 FrameworkServlet doService 方法
spring.mvc.dispatch-options-request=false # 发送 OPTIONS 请求到 FrameworkServlet doService 方法
spring.mvc.favicon.enabled=true # 启用 favicon.ico 的解析
spring.mvc.media-types.*= # 将文件扩展名映射到内容协商的媒体类型
spring.mvc.message-codes-resolver-format= # 消息代码格式策略。例如 'PREFIX_ERROR_CODE'
spring.mvc.static-path-pattern=/** # 用于静态资源的路径模式
spring.mvc.ignore-default-model-on-redirect= true # 如果在重定向方案期间应该忽略 “默认” 模型的内容
spring.mvc.throw-exception-if-no-handler-found=false # 如果没有发现处理程序来处理请求,则应抛出 'NoHandlerFoundException'
5) 资源处理(ResourceProperties)
spring.resources.add-mappings=true # 启用默认资源处理
spring.resources.cache-period= # 由资源处理程序提供的资源的缓存期,以秒为单位
spring.resources.chain.cache=true # 在资源链中启用缓存
spring.resources.chain.enabled= # 启用Spring资源处理链。默认情况下禁用,除非启用了至少一个策略
spring.resources.chain.html-application-cache=false # 启用HTML5应用程序缓存清单重写
spring.resources.chain.strategy.content.enabled=false # 启用内容版本策略
spring.resources.chain.strategy.content.paths=/** # 应用于版本策略的模式的逗号分隔列表
spring.resources.chain.strategy.fixed.enabled=false # 启用固定版本策略
spring.resources.chain.strategy.fixed.paths= # 应用于版本策略的逗号分隔的模式列表
spring.resources.chain.strategy.fixed.version= # 用于版本策略的版本字符串
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ # 静态资源的位置
6) Thymeleaf 模板引擎配置
spring.thymeleaf.cache=true # 启用模板缓存
spring.thymeleaf.check-template-location=true # 检查模板位置是否存在
spring.thymeleaf.content-type=text/html # Content-Type值
spring.thymeleaf.enabled=true # 启用 MVC Thymeleaf 视图分辨率
spring.thymeleaf.encoding=UTF-8 # 模板编码
spring.thymeleaf.excluded-view-names= # 应该从解决方案中排除的视图名称的逗号分隔列表
spring.thymeleaf.mode=HTML5 # 应用于模板的模板模式,参见 StandardTemplateModeHandlers
spring.thymeleaf.prefix=classpath:/templates/ # 在构建URL时预先查看名称的前缀
spring.thymeleaf.suffix=.html # 构建URL时附加查看名称的后缀
spring.thymeleaf.template-resolver-order= # 链中模板解析器的顺序
spring.thymeleaf.view-names= # 可以解析的视图名称的逗号分隔列表
3. Data 属性
1) 数据源(数据库)配置 (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.driver-class-name= # JDBC驱动程序的完全限定名称。默认情况下,根据URL自动检测。
spring.datasource.type= # 要使用的连接池实现的完全限定名称。默认情况下,它是从类路径自动检测的
spring.datasource.url= # 数据库的 JDBC url
spring.datasource.name= # 数据库的名称
spring.datasource.username= # 数据库用户名
spring.datasource.password= # 数据库的密码
spring.datasource.continue-on-error=false #初始化数据库时发生错误时不要停止
spring.datasource.data= # Data(DML)脚本资源引用
spring.datasource.initialize=true # 使用'data.sql'填充数据库
spring.datasource.jmx-enabled=false # 启用JMX支持(如果由底层池提供)
spring.datasource.jndi-name= # 数据源的JNDI位置。设置时,类,网址,用户名和密码将被忽略
spring.datasource.max-active= # 例如100
spring.datasource.max-idle= # 例如8
spring.datasource.max-wait=
spring.datasource.min-evictable=
spring.datasource.min-idle=8
spring.datasource.platform=all # 在资源模式(schema - $ {platform} .sql)中使用的平台
spring.datasource.schema= # Schema(DDL)脚本资源引用
spring.datasource.separator=; # 语句分隔符在SQL初始化脚本中
spring.datasource.sql-script-encoding= # SQL脚本编码。
spring.datasource.test-on-borrow=false
spring.datasource.test-on-return=false
spring.datasource.test-while-idle=
spring.datasource.time-between-eviction-runs-millis=1
spring.datasource.validation-query=
2) JPA 配置 (JpaBaseConfiguration, HibernateJpaAutoConfiguration)
spring.jpa.database= # 目标数据库进行操作,默认情况下自动检测。可以使用 “databasePlatform” 属性设置。
spring.jpa.database-platform= # 要运行的目标数据库的名称,默认情况下自动检测。可以使用 “数据库” 枚举来设置。
spring.jpa.generate-ddl=false # 启动时初始化模式。
spring.jpa.hibernate.ddl-auto= # DDL模式。这实际上是 “hibernate.hbm2ddl.auto” 属性的快捷方式。使用嵌入式数据库时默认为 “创建删除”,否则为 “否”。
spring.jpa.hibernate.naming-strategy= # 命名策略完全限定名。
spring.jpa.open-in-view=true # 注册 OpenEntityManagerInViewInterceptor,将 JPA EntityManager 绑定到线程以进行请求的整个处理。
spring.jpa.properties.*= # 在JPA提供程序上设置的其他本机属性
spring.jpa.show-sql=false # 启用SQL语句的日志记录
spring.data.jpa.repositories.enabled=true # 启用JPA存储库
3) DATA REST (RepositoryRestProperties)
spring.data.rest.base-path= # 由Spring Data REST用于公开存储库资源的基本路径
spring.data.rest.default-page-size= # 页面的默认大小
spring.data.rest.enable-enum-translation= # 通过Spring Data REST默认资源包启用枚举值转换
spring.data.rest.limit-param-name= # 指示一次返回多少结果的URL查询字符串参数的名称
spring.data.rest.max-page-size= # 最大页面大小
spring.data.rest.page-param-name= # 指示要返回的页面的URL查询字符串参数的名称
spring.data.rest.return-body-on-create= # 创建一个实体后返回响应体
spring.data.rest.return-body-on-update= # 更新实体后返回响应体
spring.data.rest.sort-param-name= # 指示排序结果的方向的URL查询字符串参数的名称
4) ELASTICSEARCH (ElasticsearchProperties)
spring.data.elasticsearch.cluster-name=elasticsearch # 弹性搜索集群名称
spring.data.elasticsearch.cluster-nodes= # 集群节点地址的逗号分隔列表。如果未指定,则启动客户端节点
spring.data.elasticsearch.properties.*= # 用于配置客户端的其他属性
spring.data.elasticsearch.repositories.enabled=true # 启用 Elasticsearch 存储库
5) MONGODB (MongoProperties)
spring.data.mongodb.uri=mongodb://localhost/test # Mongo数据库URI。 设置时,主机和端口将被忽略
spring.data.mongodb.host=localhost # Mongo服务器主机
spring.data.mongodb.port=27017 # Mongo服务器端口
spring.data.mongodb.database=test # 数据库名称
spring.data.mongodb.username= # 登录mongo服务器的用户
spring.data.mongodb.password= # 登录mongo服务器的密码
spring.data.mongodb.authentication-database= # 验证数据库名称
spring.data.mongodb.grid-fs-database= # GridFS数据库名称
spring.data.mongodb.repositories.enabled = true # 启用Mongo存储库
spring.data.mongodb.field-naming-strategy= # 要使用的FieldNamingStrategy的完全限定名称
4. 安全属性
1) SECURITY(SecurityProperties)
security.basic.authorize-mode = role # 应用安全授权模式。
security.basic.enabled = true # 启用基本身份验证。
security.basic.path = / ** # 安全路径的逗号分隔列表。
security.basic.realm = Spring # HTTP基本的领域名称。
security.enable-csrf = false # 启用跨站点请求伪造支持。
security.filter-order = 0 # 安全过滤器连锁订单。
security.headers.cache = true # 启用缓存控制HTTP头。
security.headers.content-type = true # 启用“X-Content-Type-Options”头。
security.headers.frame = true # 启用“X-Frame-Options”标题。
security.headers.hsts = # HTTP严格传输安全(HSTS)模式(无,域,全部)。
security.headers.xss = true # 启用跨站点脚本(XSS)保护。
security.ignored = # 从默认安全路径中排除的路径的逗号分隔列表。
security.require-ssl = false # 为所有请求启用安全通道。
security.sessions = stateless # 会话创建策略(永远不会,if_required,无状态)。
security.user.name = user # 默认用户名。
security.user.password = # 默认用户名的密码。默认情况下,启动时会记录随机密码。
security.user.role = USER # 为默认用户名授予角色。
2) SECURITY OAUTH2 CLIENT(OAuth2ClientProperties)
security.oauth2.client.client-id = # OAuth2客户端ID。
security.oauth2.client.client-secret = # OAuth2客户机密码。默认生成随机密码
3) SECURITY OAUTH2 RESOURCES(ResourceServerProperties)
security.oauth2.resource.id = # 资源的标识符。
security.oauth2.resource.jwt.key-uri = # JWT令牌的URI。如果值不可用并且密钥是公共的,可以设置。
security.oauth2.resource.jwt.key-value = # JWT令牌的验证密钥。可以是对称秘密或PEM编码的RSA公钥。
security.oauth2.resource.prefer-token-info = true # 使用令牌信息,可以设置为false以使用用户信息。
security.oauth2.resource.service-id = resource #
security.oauth2.resource.token-info-uri = # 令牌解码端点的URI。
security.oauth2.resource.token-type = # 使用userInfoUri时发送的令牌类型。
security.oauth2.resource.user-info-uri = # 用户端点的URI。
4) SECURITY OAUTH2 SSO(OAuth2SsoProperties)
security.oauth2.sso.filter-order = # 如果不提供显式的WebSecurityConfigurerAdapter,则应用过滤器顺序
security.oauth2.sso.login-path = /login # 登录页面的路径,即触发重定向到OAuth2授权服务器的路径
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战