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授权服务器的路径

posted @   垄山小站  阅读(933)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示