SpringBoot默认配置文件

205 阅读29分钟

SpringBoot默认配置文件

1.前言☕

大家好,我是Leo哥🫣🫣🫣,今天给大家带来关于精品SpringBoot专栏,暂且就给他起名为循序渐进学SpringBoot,这里我参考了我上一个专栏:循序渐进学SpringSecurity6。有需要的朋友可以抓紧学习来哈,带你从SpringSecurity从零到实战项目。好了,我们进入正题,为什么会有SpringBoot这个专栏呢,是这样的,今年Leo哥也是正在重塑知识体系,从基础到框架,而SpringBoot又是我们框架中的核心,我觉得很有必要通过以博客的形式将我的知识系列进行输出,同时也锻炼一下自己的写作能力,如果能帮到大家那就更好啦!!!本地系列教程会从SpringBoot基础讲起,会以知识点+实例+项目的学习模式由浅入深对Spring Boot框架进行学习&使用。好了,话不多说让我们开始吧😎😎😎。

2.概述

SpringBoot 提供了一种简化配置的方式,通过默认的配置文件 application.propertiesapplication.yml 来管理应用程序的配置。这些配置文件包含了应用程序运行所需的各种设置,如数据库连接信息、服务器端口、日志级别等。

在实际的开发过程中,我们经常需要在项目中使用配置文件。在SpringBoot中,我们可以使用默认的配置文件或自定义的配置文件来配置应用程序的行为。本文将介绍如何使用 SpringBoot 的默认和自定义配置文件。

3.配置文件

SpringBoot使用一个全局的配置文件,配置文件名是固定的。

一般分为:

  • application.yaml
  • applicatio.properties

YAML(YAML Ain't Markup Language) yaml是一个标记语言。

有关YAMLPropertis还不了解的同学可以看我这一篇文章,单独有讲述。认识YAML和Propertis

4.默认配置文件所在的位置

SpringBoot 在启动时会扫描以下位置的配置文件:

  1. file:./config/*/
  2. file:./config/
  3. file:./
  4. classpath:/config/
  5. classpath:/

这些位置的配置文件会按照上述顺序加载,高优先级的配置会覆盖低优先级的配置。

具体配置文件的加载顺序在之前的文章也有讲解,忘记的小伙伴们可以去复习。直达:认识YAML和Propertis

5.配置文件类型

Spring Boot 支持两种配置文件类型:.properties.yml(或 .yaml)。.properties 文件使用键值对的形式,而 .yml 文件则使用更易读的层级结构。

5.1 .properties

# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456

# 服务器端口配置
server.port=8080

5.2 .yml

复制# 数据库配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: 123456

# 服务器端口配置
server:
  port: 8080

6.配置文件的注入

SpringBoot 应用程序中,可以通过 @Value 注解或者 @ConfigurationProperties 注解来注入配置文件中的值。

6.1 使用 @Value 注解

@RestController
public class MyController {

    @Value("${spring.datasource.url}")
    private String dataSourceUrl;

    @GetMapping("/datasource")
    public String getDataSourceUrl() {
        return dataSourceUrl;
    }
}

6.2 使用 @ConfigurationProperties 注解

@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties {
    private String url;
    private String username;
    private String password;

    // Getters and Setters
}

7.详细文件配置

下面给出一份Leo哥整理的涵盖大部分的开发使用的YML文件配置,建议收藏!!!

flyway:
  baseline-description: 对执行迁移时基准版本的描述.
  baseline-on-migrate: 当迁移时发现目标schema非空,而且带有没有元数据的表时,是否自动执行基准迁移,默认false.
  baseline-version: 开始执行基准迁移时对现有的schema的版本打标签,默认值为1.
  check-location: 检查迁移脚本的位置是否存在,默认false.
  clean-on-validation-error: 当发现校验错误时是否自动调用clean,默认false.
  enabled: 是否开启flywary,默认true.
  encoding: 设置迁移时的编码,默认UTF-8.
  ignore-failed-future-migration: 当读取元数据表时是否忽略错误的迁移,默认false.
  init-sqls: 当初始化好连接时要执行的SQL.
  locations: 迁移脚本的位置,默认db/migration.
  out-of-order: 是否允许无序的迁移,默认false.
  password: 目标数据库的密码.
  placeholder-prefix: 设置每个placeholder的前缀,默认${.
  placeholder-replacementplaceholders: 是否要被替换,默认true.
  placeholder-suffix: 设置每个placeholder的后缀,默认}.
  placeholders:
    '[placeholder': name] 设置placeholder的value
  schemas: 设定需要flywary迁移的schema,大小写敏感,默认为连接默认的schema.
  sql-migration-prefix: 迁移文件的前缀,默认为V.
  sql-migration-separator: 迁移脚本的文件名分隔符,默认__
  sql-migration-suffix: 迁移脚本的后缀,默认为.sql
  tableflyway: 使用的元数据表名,默认为schema_version
  target: 迁移时使用的目标版本,默认为latest version
  url: 迁移时使用的JDBC URL,如果没有指定的话,将使用配置的主数据源
  user: 迁移数据库的用户名
  validate-on-migrate: 迁移时是否校验,默认为true.
liquibase:
  change-logChange: log 配置文件的路径,默认值为classpath:/db/changelog/db.changelog-master.yaml
  check-change-log-location: 是否坚持change log的位置是否存在,默认为true.
  contexts: 逗号分隔的运行时context列表.
  default-schema: 默认的schema.
  drop-first: 是否首先drop schema,默认为false
  enabled: 是否开启liquibase,默认为true.
  password: 目标数据库密码
  url: 要迁移的JDBC URL,如果没有指定的话,将使用配置的主数据源.
  user: 目标数据用户名
multipart:
  enabled: 是否开启文件上传支持,默认为true
  file-size-threshold: 设定文件写入磁盘的阈值,单位为MB或KB,默认为0
  location: 指定文件上传路径.
  max-file-size: 指定文件大小最大值,默认1MB
  max-request-size: 指定每次请求的最大值,默认为10MB
security:
  basic:
    authorize-mode: 要使用权限控制模式.
    enabled: 是否开启基本的鉴权,默认为true
    path: 需要鉴权的path,多个的话以逗号分隔,默认为[/ **]
    realm: HTTP basic realm 的名字,默认为Spring
  enable-csrf: 是否开启cross-site request forgery校验,默认为false.
  filter-order: Security filter chain的order,默认为0
  headers:
    cache: 是否开启http头部的cache控制,默认为false.
    content-type: 是否开启X-Content-Type-Options头部,默认为false.
    frame: 是否开启X-Frame-Options头部,默认为false.
    hsts: 指定HTTP Strict Transport Security (HSTS)模式(none, domain, all).
    xss: 是否开启cross-site scripting (XSS) 保护,默认为false.
  ignored: 指定不鉴权的路径,多个的话以逗号分隔.
  oauth2:
    client:
      access-token-uri: 指定获取access token的URI.
      access-token-validity-seconds: 指定access token失效时长.
      additional-information:
        '[key]': 设定要添加的额外信息.
      authentication-scheme: 指定传输不记名令牌(bearer token)的方式(form, header, none,query),默认为header
      authorities: 指定授予客户端的权限.
      authorized-grant-types: 指定客户端允许的grant types.
      auto-approve-scopes: 对客户端自动授权的scope.
      client-authentication-scheme: 传输authentication credentials的方式(form, header, none, query),默认为header方式
      client-id: 指定OAuth2 client ID.
      client-secret: 指定OAuth2 client secret. 默认是一个随机的secret.
      grant-type: 指定获取资源的access token的授权类型.
      id: 指定应用的client ID.
      pre-established-redirect-uri: 服务端pre-established的跳转URI.
      refresh-token-validity-seconds: 指定refresh token的有效期.
      registered-redirect-uri: 指定客户端跳转URI,多个以逗号分隔.
      resource-ids: 指定客户端相关的资源id,多个以逗号分隔.
      scopeclient: 的scope
      token-name: 指定token的名称
      use-current-uri: 是否优先使用请求中URI,再使用pre-established的跳转URI. 默认为true
      user-authorization-uri: 用户跳转去获取access token的URI.
    resource:
      id: 指定resource的唯一标识.
      jwt:
        key-uri: JWT token的URI. 当key为公钥时,或者value不指定时指定.
        key-value: JWT token验证的value. 可以是对称加密或者PEMencoded RSA公钥. 可以使用URI作为value.
      prefer-token-info: 是否使用token info,默认为true
      service-id: 指定service ID,默认为resource.
      token-info-uritoken: 解码的URI.
      token-type: 指定当使用userInfoUri时,发送的token类型.
      user-info-uri: 指定user info的URI
    sso:
      filter-order: 如果没有显示提供WebSecurityConfigurerAdapter时指定的Filter order.
      login-path: 跳转到SSO的登录路径默认为/login.
  require-ssl: 是否对所有请求开启SSL,默认为false.
  sessions: 指定Session的创建策略(always, never, if_required, stateless).
  user:
    name: 指定默认的用户名,默认为user.
    password: 默认的用户密码.
    role: 默认用户的授权角色.
server:
  address: 指定server绑定的地址
  compression:
    enabled: 是否开启压缩,默认为false.
    excluded-user-agents: 指定不压缩的user-agent,多个以逗号分隔,默认值为:text/html,text/xml,text/plain,text/css
    mime-types: 指定要压缩的MIME type,多个以逗号分隔.
    min-response-size: 执行压缩的阈值,默认为2048
  context-parameters:
    '[param': name]=设置servlet context 参数
  context-path: 设定应用的context-path.
  display-name: '设定应用的展示名称,默认: application'
  jsp-servlet:
    class-name: '设定编译JSP用的servlet,默认: org.apache.jasper.servlet.JspServlet)'
    init-parameters:
      '[param': name]=设置JSP servlet 初始化参数.
    registered: 设定JSP servlet是否注册到内嵌的servlet容器,默认true
  port设定http: 监听端口
  servlet-path: '设定dispatcher servlet的监听路径,默认为: /'
  session:
    cookie:
      comment: 指定session cookie的comment
      domain: 指定session cookie的domain
      http-only: 是否开启HttpOnly.
      max-age: 设定session cookie的最大age.
      name: 设定Session cookie 的名称.
      path: 设定session cookie的路径.
      secure: 设定session cookie的“Secure” flag.
    persistent: 重启时是否持久化session,默认false
    timeoutsession: 的超时时间
    tracking-modes: 设定Session的追踪模式(cookie, url, ssl).
  ssl:
    ciphers: 是否支持SSL ciphers.
    client-auth: 设定client authentication是wanted 还是 needed.
    enabled: '是否开启ssl,默认: true'
    key-alias: 设定key store中key的别名.
    key-password: 访问key store中key的密码.
    key-store: 设定持有SSL certificate的key store的路径,通常是一个.jks文件.
    key-store-password: 设定访问key store的密码.
    key-store-provider: 设定key store的提供者.
    key-store-type: 设定key store的类型.
    protocol: '使用的SSL协议,默认: TLS'
    trust-store: 持有SSL certificates的Trust store.
    trust-store-password: 访问trust store的密码.
    trust-store-provider: 设定trust store的提供者.
    trust-store-type: 指定trust store的类型.
  tomcat:
    access-log-enabled: '是否开启access log ,默认: false)'
    access-log-pattern: '设定access logs的格式,默认: common'
    accesslog:
      directory: '设定log的目录,默认: logs'
      enabled: '是否开启access log,默认: false'
      pattern: '设定access logs的格式,默认: common'
      prefix: '设定Log 文件的前缀,默认: access_log'
      suffix: '设定Log 文件的后缀,默认: .log'
    background-processor-delay: '后台线程方法的Delay大小: 30'
    basedir: 设定Tomcat的base 目录,如果没有指定则使用临时目录.
    internal-proxies: 设定信任的正则表达式,默认:“10.d{1,3}.d{1,3}.d{1,3}| 192.168.d{1,3}.d{1,3}| 169.254.d{1,3}.d{1,3}| 127.d{1,3}.d{1,3}.d{1,3}| 172.1[6-9]{1}.d{1,3}.d{1,3}| 172.2[0-9]{1}.d{1,3}.d{1,3}|172.3[0-1]{1}.d{1,3}.d{1,3}”
    max-http-header-size: '设定http header的最小值,默认: 0'
    max-threads: '设定tomcat的最大工作线程数,默认为: 0'
    port-header: 设定http header使用的,用来覆盖原来port的value.
    protocol-header: 设定Header包含的协议,通常是 X-Forwarded-Proto,如果remoteIpHeader有值,则将设置为RemoteIpValve.
    protocol-header-https-value: 设定使用SSL的header的值,默认https.
    remote-ip-header: 设定remote IP的header,如果remoteIpHeader有值,则设置为RemoteIpValve
    uri-encoding: 设定URI的解码字符集.
  undertow:
    access-log-dir: '设定Undertow access log 的目录,默认: logs'
    access-log-enabled: '是否开启access log,默认: false'
    access-log-pattern: '设定access logs的格式,默认: common'
    accesslog:
      dir: 设定access log 的目录.
    buffer-size: 设定buffer的大小.
    buffers-per-region: 设定每个region的buffer数
    direct-buffers: 设定堆外内存
    io-threads: 设定I/O线程数.
    worker-threads: 设定工作线程数
spring:
  activemq:
    broker-url: 指定ActiveMQ broker的URL,默认自动生成.
    in-memory: 是否是内存模式,默认为true.
    password: 指定broker的密码.
    pooled: 是否创建PooledConnectionFactory,而非ConnectionFactory,默认false
    user: 指定broker的用户.
  aop:
    auto: '是否支持@EnableAspectJAutoProxy,默认为: true'
    proxy-target-classtrue: 为使用CGLIB代理,false为JDK代理,默认为false
  application:
    admin:
      enabled: '是否启用admin特性,默认为: false'
      jmx-name: '指定admin MBean的名称,默认为: org.springframework.boot:type=Admin,name=SpringApplication'
  artemis:
    embedded:
      cluster-password: 指定集群的密码,默认是启动时随机生成.
      data-directory: 指定Journal文件的目录.如果不开始持久化则不必要指定.
      enabled: 是否开启内嵌模式,默认true
      persistent: 是否开启persistent store,默认false.
      queues: '指定启动时创建的队列,多个用逗号分隔,默认: []'
      server-id: 指定Server ID. 默认是一个自增的数字,从0开始.
      topics: '指定启动时创建的topic,多个的话逗号分隔,默认: []'
    host: '指定Artemis broker 的host. 默认: localhost'
    mode: 指定Artemis 的部署模式, 默认为auto-detected(也可以为native or embedded).
    port: '指定Artemis broker 的端口,默认为: 61616'
  autoconfigure:
    exclude: 配置要排除的Auto-configuration classes.
  batch:
    initializer:
      enabled: 是否在必要时创建batch表,默认为true
    job:
      enabled: 是否在启动时开启batch job,默认为true
      names: 指定启动时要执行的job的名称,逗号分隔,默认所有job都会被执行
    schema: 指定要初始化的sql语句路径,默认:classpath:org/springframework/batch/core/schema-@@platform@@.sql)
    table-prefix: 指定批量处理的表的前缀.
  cache:
    cache-names: 指定要创建的缓存的名称,逗号分隔(若该缓存实现支持的话)
    ehcache:
      config: 指定初始化EhCache时使用的配置文件的位置指定.
    guava:
      spec: 指定创建缓存要使用的spec,具体详见CacheBuilderSpec.
    hazelcast:
      config: 指定初始化Hazelcast时的配置文件位置
    infinispan:
      config: 指定初始化Infinispan时的配置文件位置.
    jcache:
      config: 指定jcache的配置文件.
      provider: 指定CachingProvider实现类的全限定名.
    type: 指定缓存类型
  dao:
    exceptiontranslation:
      enabled: 是否开启PersistenceExceptionTranslationPostProcessor,默认为true
  data:
    elasticsearch:
      cluster-name: '指定es集群名称,默认: elasticsearch'
      cluster-nodes: 指定es的集群,逗号分隔,不指定的话,则启动client node.
      properties: 指定要配置的es属性.
      repositories:
        enabled: '是否开启es存储,默认为: true'
    jpa:
      repositories:
        enabled: '是否开启JPA支持,默认为: true'
    mongodb:
      authentication-database: 指定鉴权的数据库名
      database: 指定mongodb数据库名
      field-naming-strategy: 指定要使用的FieldNamingStrategy.
      grid-fs-database: 指定GridFS database的名称.
      host: 指定Mongo server host.
      password: 指定Mongo server的密码.
      port: 指定Mongo server port.
      repositories:
        enabled: 是否开启mongodb存储,默认为true
      uri: 指定Mongo database URI.默认:mongodb://localhost/test
      username: 指定登陆mongodb的用户名.
    rest:
      base-path: 指定暴露资源的基准路径.
      default-page-size: '指定每页的大小,默认为: 20'
      limit-param-name: '指定limit的参数名,默认为: size'
      max-page-size: 指定最大的页数,默认为1000
      page-param-name: '指定分页的参数名,默认为: page'
      return-body-on-create: 当创建完实体之后,是否返回body,默认为false
      return-body-on-update: 在更新完实体后,是否返回body,默认为false
      sort-param-name: '指定排序使用的key,默认为: sort'
    solr:
      host: '指定Solr host,如果有指定了zk的host的话,则忽略。默认为: http://127.0.0.1:8983/solr'
      repositories:
        enabled: '是否开启Solr repositories,默认为: true'
      zk-host: 指定zk的地址,格式为HOST:PORT.
  datasource:
    abandon-when-percentage-full: 设定超时被废弃的连接占到多少比例时要被关闭或上报
    allow-pool-suspension: '使用Hikari pool时,是否允许连接池暂停,默认为: false'
    alternate-username-allowed: 是否允许替代的用户名.
    auto-commit: 指定updates是否自动提交.
    catalog: 指定默认的catalog.
    commit-on-return: 设置当连接被归还时,是否要提交所有还未完成的事务
    connection-init-sql: 指定连接被创建,再被添加到连接池之前执行的sql.
    connection-init-sqls: 使用DBCP connection pool时,指定初始化时要执行的sql
    connection-properties:
      '[key]': 在使用DBCP connection pool时指定要配置的属性
    connection-test-query: 指定校验连接合法性执行的sql语句
    connection-timeout: 指定连接的超时时间,毫秒单位.
    continue-on-error: 在初始化数据库时,遇到错误是否继续,默认false
    data: 指定Data (DML)脚本
    data-source-class-name: 指定数据源的全限定名.
    data-source-jndi: 指定jndi的地址
    data-source-properties:
      '[key]': 使用Hikari connection pool时,指定要设置的属性
    db-properties: 使用Tomcat connection pool,指定要设置的属性
    default-auto-commit: 是否自动提交.
    default-catalog: 指定连接默认的catalog.
    default-read-only: 是否设置默认连接只读.
    default-transaction-isolation: 指定连接的事务的默认隔离级别.
    driver-class-name: 指定driver的类名,默认从jdbc url中自动探测.
    fair-queue: 是否采用FIFO返回连接.
    health-check-properties:
      '[key]': 使用Hikari connection pool时,在心跳检查时传递的属性
    idle-timeout: 指定连接多久没被使用时,被设置为空闲,默认为10ms
    ignore-exception-on-pre-load: 当初始化连接池时,是否忽略异常.
    init-sql: 当连接创建时,执行的sql
    initial-size: 指定启动连接池时,初始建立的连接数量
    initialization-fail-fast: 当创建连接池时,没法创建指定最小连接数量是否抛异常
    initialize: '指定初始化数据源,是否用data.sql来初始化,默认: true'
    isolate-internal-queries: 指定内部查询是否要被隔离,默认为false
    jdbc-interceptors: 使用Tomcat connection pool时,指定jdbc拦截器,分号分隔
    jdbc-url: 指定JDBC URL.
    jmx-enabled: '是否开启JMX,默认为: false'
    jndi-name: 指定jndi的名称.
    leak-detection-threshold: 使用Hikari connection pool时,多少毫秒检测一次连接泄露.
    log-abandoned: '使用DBCP connection pool,是否追踪废弃statement或连接,默认为: false'
    log-validation-errors: 当使用Tomcat connection pool是否打印校验错误.
    login-timeout: 指定连接数据库的超时时间.
    max-active: 指定连接池中最大的活跃连接数.
    max-age: 指定连接池中连接的最大年龄
    max-idle: 指定连接池最大的空闲连接数量.
    max-lifetime: 指定连接池中连接的最大生存时间,毫秒单位.
    max-open-prepared-statements: 指定最大的打开的prepared statements数量.
    max-wait: 指定连接池等待连接返回的最大等待时间,毫秒单位.
    maximum-pool-size: 指定连接池最大的连接数,包括使用中的和空闲的连接.
    min-evictable-idle-time-millis: 指定一个空闲连接最少空闲多久后可被清除.
    min-idle: 指定必须保持连接的最小值(For DBCP and Tomcat connection pools)
    minimum-idle: 指定连接维护的最小空闲连接数,当使用HikariCP时指定.
    name: 指定数据源名.
    num-tests-per-eviction-run: 指定运行每个idle object evictor线程时的对象数量
    password: 指定数据库密码.
    platform: '指定schema要使用的Platform(schema-${platform}.sql),默认为: all'
    pool-name: 指定连接池名字.
    pool-prepared-statements: 指定是否池化statements.
    propagate-interrupt-state: 在等待连接时,如果线程被中断,是否传播中断状态.
    read-only: 当使用Hikari connection pool时,是否标记数据源只读
    register-mbeans: 指定Hikari connection pool是否注册JMX MBeans.
    remove-abandoned: -timeout指定连接应该被废弃的时间.
    rollback-on-return: 在归还连接时,是否回滚等待中的事务.
    schema: 指定Schema (DDL)脚本.
    separator: '指定初始化脚本的语句分隔符,默认: ;'
    sql-script-encoding: 指定SQL scripts编码.
    suspect-timeout: 指定打印废弃连接前的超时时间.
    test-on-borrow: 当从连接池借用连接时,是否测试该连接.
    test-on-connect: 创建时,是否测试连接
    test-on-return: 在连接归还到连接池时是否测试该连接.
    test-while-idle: 当连接空闲时,是否执行连接测试.
    time-between-eviction-runs-millis: 指定空闲连接检查、废弃连接清理、空闲连接池大小调整之间的操作时间间隔
    transaction-isolation: 指定事务隔离级别,使用Hikari connection pool时指定
    url: 指定JDBC URL.
    use-disposable-connection-facade: 是否对连接进行包装,防止连接关闭之后被使用.
    use-equals: 比较方法名时是否使用String.equals()替换==.
    use-lock: 是否对连接操作加锁
    username: 指定数据库名.
    validation-interval: 指定多少ms执行一次连接校验.
    validation-query: 指定获取连接时连接校验的sql查询语句.
    validation-query-timeout: 指定连接校验查询的超时时间.
    validation-timeout: 设定连接校验的超时时间,当使用Hikari connection pool时指定
    validator-class-name: 用来测试查询的validator全限定名.
    xa:
      data-source-class-name: 指定数据源的全限定名.
      properties: 指定传递给XA data source的属性
  freemarker:
    allow-request-override: 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
    allow-session-override: 指定HttpSession的属性是否可以覆盖controller的model的同名项
    cache: 是否开启template caching.
    charset: 设定Template的编码.
    check-template-location: 是否检查templates路径是否存在.
    content-type: 设定Content-Type.
    enabled: 是否允许mvc使用freemarker.
    expose-request-attributes: 设定所有request的属性在merge到模板的时候,是否要都添加到model中.
    expose-session-attributes: 设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中.
    expose-spring-macro-helpers: 设定是否以springMacroRequestContext的形式暴露RequestContext给Spring’s macro library使用
    prefer-file-system-access: 是否优先从文件系统加载template,以支持热加载,默认为true
    prefix: 设定freemarker模板的前缀.
    request-context-attribute: 指定RequestContext属性的名.
    settings: 设定FreeMarker keys.
    suffix: 设定模板的后缀.
    template-loader-path: '设定模板的加载路径,多个以逗号分隔,默认: [“classpath:/templates/”]'
    view-names: 指定使用模板的视图列表.
  groovy:
    template:
      allow-request-override: 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
      allow-session-override: 指定HttpSession的属性是否可以覆盖controller的model的同名项
      cache: 是否开启模板缓存.
      charset: 指定Template编码.
      check-template-location: 是否检查模板的路径是否存在.
      configuration:
        auto-escape: '是否在渲染模板时自动排查model的变量,默认为: false'
        auto-indent: 是否在渲染模板时自动缩进,默认为false
        auto-indent-string: '如果自动缩进启用的话,是使用SPACES还是TAB,默认为: SPACES'
        auto-new-line: 渲染模板时是否要输出换行,默认为false
        base-template-class: 指定template base class.
        cache-templates: 是否要缓存模板,默认为true
        declaration-encoding: 在写入declaration header时使用的编码
        expand-empty-elements: '是使用这种形式,还是这种展开模式,默认为: false)'
        locale: 指定template locale.
        new-line-string: 当启用自动换行时,换行的输出,默认为系统的line.separator属性的值
        resource-loader-path: 指定groovy的模板路径,默认为classpath:/templates/
        use-double-quotes: 指定属性要使用双引号还是单引号,默认为false
      content-type: 指定Content-Type.
      enabled: 是否开启groovy模板的支持.
      expose-request-attributes: 设定所有request的属性在merge到模板的时候,是否要都添加到model中.
      expose-session-attributes: 设定所有request的属性在merge到模板的时候,是否要都添加到model中.
      expose-spring-macro-helpers: 设定是否以springMacroRequestContext的形式暴露RequestContext给Spring’s macro library使用
      prefix: 指定模板的前缀.
      request-context-attribute: 指定RequestContext属性的名.
      resource-loader-path: '指定模板的路径,默认为: classpath:/templates/'
      suffix: 指定模板的后缀
      view-names: 指定要使用模板的视图名称.
  h2:
    console:
      enabled: 是否开启控制台,默认为false
      path: '指定控制台路径,默认为: /h2-console'
  hateoas:
    apply-to-primary-object-mapper: '设定是否对object mapper也支持HATEOAS,默认为: true'
  hornetq:
    embedded:
      cluster-password: 指定集群的密码,默认启动时随机生成.
      data-directory: 指定Journal file 的目录. 如果不开启持久化则不必指定.
      enabled: 是否开启内嵌模式,默认:true
      persistent: '是否开启persistent store,默认: false'
      queues: '指定启动是创建的queue,多个以逗号分隔,默认: []'
      server-id: 指定Server ID. 默认使用自增数字,从0开始.
      topics: '指定启动时创建的topic,多个以逗号分隔,默认: []'
    host: '指定HornetQ broker 的host,默认: localhost'
    mode: 指定HornetQ 的部署模式,默认是auto-detected,也可以指定native 或者 embedded.
    port: '指定HornetQ broker 端口,默认: 5445'
  http:
    converters:
      preferred-json-mapper: 是否优先使用JSON mapper来转换.
    encoding:
      charset: '指定http请求和相应的Charset,默认: UTF-8'
      enabled: 是否开启http的编码支持,默认为true
      force: 是否强制对http请求和响应进行编码,默认为true
  jackson:
    date-format: 指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的格式化类的全限定名
    deserialization: 是否开启Jackson的反序列化
    generator: 是否开启json的generators.
    joda-date-time-format: 指定Joda date/time的格式,比如yyyy-MM-dd HH:mm:ss). 如果没有配置的话,dateformat会作为backup
    locale: 指定json使用的Locale.
    mapper: 是否开启Jackson通用的特性.
    parser: 是否开启jackson的parser特性.
    property-naming-strategy: 指定PropertyNamingStrategy (CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)或者指定PropertyNamingStrategy子类的全限定类名.
    serialization: 是否开启jackson的序列化.
    serialization-inclusion: 指定序列化时属性的inclusion方式,具体查看JsonInclude.Include枚举.
    time-zone: 指定日期格式化时区,比如America/Los_Angeles或者GMT+10.
  jersey:
    filter:
      order: '指定Jersey filter的order,默认为: 0'
    init: 指定传递给Jersey的初始化参数.
    type: 指定Jersey的集成类型,可以是servlet或者filter.server配置
  jms:
    jndi-name: 指定Connection factory JNDI 名称.
    listener:
      acknowledge-mode: 指定ack模式,默认自动ack.
      auto-startup: '是否启动时自动启动jms,默认为: true'
      concurrency: 指定最小的并发消费者数量.
      max-concurrency: 指定最大的并发消费者数量.
    pub-sub-domain: '是否使用默认的destination type来支持 publish/subscribe,默认: false'
  jmx:
    default-domain: 指定JMX domain name.
    enabled: 是否暴露jmx,默认为true
    server: '指定MBeanServer bean name. 默认为: mbeanServer)'
  jooq:
    sql-dialect: 指定JOOQ使用的SQLDialect,比如POSTGRES.
  jpa:
    database: 指定目标数据库.
    database-platform: 指定目标数据库的类型.
    generate-ddl: 是否在启动时初始化schema,默认为false
    hibernate:
      ddl-auto: 指定DDL mode (none, validate, update, create, create-drop). 当使用内嵌数据库时,默认是create-drop,否则为none.
      naming-strategy: 指定命名策略.
    open-in-view: '是否注册OpenEntityManagerInViewInterceptor,绑定JPA EntityManager到请求线程中,默认为:
      true'
    properties: 添加额外的属性到JPA provider.
    show-sql: '是否开启sql的log,默认为: false'
  jta:
    allow-multiple-lrc: '是否允许 multiple LRC,默认为: false'
    asynchronous2-pc: '指定两阶段提交是否可以异步,默认为: false'
    background-recovery-interval: '指定多少分钟跑一次recovery process,默认为: 1'
    background-recovery-interval-seconds: '指定多久跑一次recovery process,默认: 60'
    current-node-only-recovery: '是否过滤掉其他非本JVM的recovery,默认为: true'
    debug-zero-resource-transaction: '是否追踪没有使用指定资源的事务,默认为: false'
    default-transaction-timeout: 设定默认的事务超时时间,默认为60
    disable-jmx: 是否禁用jmx,默认为false
    enabled: '是否开启JTA support,默认为: true'
    exception-analyzer: 设置指定的异常分析类
    filter-log-status: 使用Bitronix Transaction Manager时,是否写mandatory logs,开启的话,可以节省磁盘空间,但是调试会复杂写,默认为false
    force-batching-enabled: 使用Bitronix Transaction Manager时,是否批量写磁盘,默认为true.
    forced-write-enabled: 使用Bitronix Transaction Manager时,是否强制写日志到磁盘,默认为true
    graceful-shutdown-interval: 当使用Bitronix Transaction Manager,指定shutdown时等待事务结束的时间,超过则中断,默认为60
    jndi-transaction-synchronization-registry-name: '当使用Bitronix Transaction Manager时,在JNDI下得事务同步registry,默认为:
      java:comp/TransactionSynchronizationRegistry'
    jndi-user-transaction-name: 指定在JNDI使用Bitronix Transaction Manager的名称,默认:java:comp/UserTransaction
    journal: 当使用Bitronix Transaction Manager,指定The journal是否disk还是null还是一个类的全限定名,默认disk
    log-dirTransaction: logs directory.
    log-part1-filename: '指定The journal fragment文件1的名字,默认: btm1.tlog'
    log-part2-filename: '指定The journal fragment文件2的名字,默认: btm2.tlog'
    max-log-size-in-mb: '指定journal fragments大小的最大值. 默认: 2M'
    resource-configuration-filename: 指定Bitronix Transaction Manager配置文件名.
    server-id: 指定Bitronix Transaction Manager实例的id.
    skip-corrupted-logs: 是否忽略corrupted log files文件,默认为false.
    transaction-manager-id: 指定Transaction manager的唯一标识.
    warn-about-zero-resource-transaction: '当使用Bitronix Transaction Manager时,是否对没有使用指定资源的事务进行警告,默认为:
      true'
  mail:
    default-encoding: '指定默认MimeMessage的编码,默认为: UTF-8'
    hos: t指定SMTP server host.
    jndi-name: 指定mail的jndi名称
    password: 指定SMTP server登陆密码.
    port: 指定SMTP server port.
    properties: 指定JavaMail session属性.
    protocol: '指定SMTP server使用的协议,默认为: smtp'
    test-connection: 指定是否在启动时测试邮件服务器连接,默认为false
    username: 指定SMTP server的用户名.
  messages:
    basename: 指定message的basename,多个以逗号分隔,如果不加包名的话,默认从classpath路径开始,默认:=messages
    cache-seconds: 设定加载的资源文件缓存失效时间,-1的话为永不过期,默认为-1
    encoding: 设定Message=bundles的编码,默认:=UTF-8
  mobile:
    devicedelegatingviewresolver:
      enable-fallback: 是否支持fallback的解决方案,默认false
      enabled: 是否开始device=view=resolver,默认为:=false
      mobile-prefix: 设定mobile端视图的前缀,默认为:mobile/
      mobile-suffix: 设定mobile视图的后缀
      normal-prefix: 设定普通设备的视图前缀
      normal-suffix: 设定普通设备视图的后缀
      tablet-prefix: 设定平板设备视图前缀,默认:tablet/
      tablet-suffix: 设定平板设备视图后缀.
    sitepreference:
      enabled: '是否启用SitePreferenceHandler,默认为: true'
  mongodb:
    embedded:
      features: 指定要开启的特性,逗号分隔.
      version: '指定要使用的版本,默认: 2.6.10'
  mustache:
    cache: 是否Enable template caching.
    charset: 指定Template的编码.
    check-template-location: 是否检查默认的路径是否存在.
    content-type: 指定Content-Type.
    enabled: 是否开启mustcache的模板支持.
    prefix: '指定模板的前缀,默认: classpath:/templates/'
    suffix: '指定模板的后缀,默认: .html'
    view-names: 指定要使用模板的视图名.
  mvc:
    async:
      request-timeout: 设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是10秒.
    date-format: 设定日期的格式,比如dd/MM/yyyy.
    favicon:
      enabled: 是否支持favicon.ico,默认为:=true
    ignore-default-model-on-redirect: 在重定向时是否忽略默认model的内容,默认为true
    locale: 指定使用的Locale.
    message-codes-resolver-format: 指定message=codes的格式化策略(PREFIX_ERROR_CODE,POSTFIX_ERROR_CODE).
    view:
      prefix: 指定mvc视图的前缀.
      suffix: 指定mvc视图的后缀.
  rabbitmq:
    addresses: 指定client连接到的server的地址,多个以逗号分隔.
    dynamic: '是否创建AmqpAdmin bean. 默认为: true)'
    host: '指定RabbitMQ host.默认为: localhost)'
    listener:
      acknowledge-mode: 指定Acknowledge的模式.
      auto-startup: '是否在启动时就启动mq,默认: true)'
      concurrency: 指定最小的消费者数量.
      max-concurrency: 指定最大的消费者数量.
      prefetch: 指定一个请求能处理多少个消息,如果有事务的话,必须大于等于transaction数量.
      transaction-size: 指定一个事务处理的消息数量,最好是小于等于prefetch的数量.
    password: 指定broker的密码.
    port: '指定RabbitMQ 的端口,默认: 5672)'
    requested-heartbeat: 指定心跳超时,0为不指定.
    ssl:
      enabled: '是否开始SSL,默认: false)'
      key-store: 指定持有SSL certificate的key store的路径
      key-store-password: 指定访问key store的密码.
      trust-store: 指定持有SSL certificates的Trust store.
      trust-store-password: 指定访问trust store的密码.
    username: 指定登陆broker的用户名.
    virtual-host: 指定连接到broker的Virtual host.
  redis:
    database: '指定连接工厂使用的Database index,默认为: 0'
    host: '指定Redis server host,默认为: localhost'
    password: 指定Redis server的密码
    pool:
      max-active: 指定连接池最大的活跃连接数,-1表示无限,默认为8
      max-idle: 指定连接池最大的空闲连接数,-1表示无限,默认为8
      max-wait: 指定当连接池耗尽时,新获取连接需要等待的最大时间,以毫秒单位,-1表示无限等待
      min-idle: 指定连接池中空闲连接的最小数量,默认为0
    port: '指定redis服务端端口,默认: 6379'
    sentinel:
      master: 指定redis server的名称
      nodes: 指定sentinel节点,逗号分隔,格式为host:port.
    timeout: 指定连接超时时间,毫秒单位,默认为0
  resources:
    add-mappings: 是否开启默认的资源处理,默认为true
    cache-period: 设定资源的缓存时效,以秒为单位.
    chain:
      cache: 是否开启缓存,默认为:=true
      enabled: 是否开启资源=handling=chain,默认为false
      html-application-cache: 是否开启h5应用的cache=manifest重写,默认为:=false
      strategy:
        content:
          enabled: 是否开启内容版本策略,默认为false
          paths: 指定要应用的版本的路径,多个以逗号分隔,默认为:[/ **]
        fixed:
          enabled: 是否开启固定的版本策略,默认为false
          paths: 指定要应用版本策略的路径,多个以逗号分隔
          version: 指定版本策略使用的版本号
    static-locations: 指定静态资源路径,默认为classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/
  sendgrid:
    password: 指定SendGrid password.
    proxy:
      host: 指定SendGrid proxy host.
      port: 指定SendGrid proxy port.
    username: 指定SendGrid username.
  social:
    auto-connection-views: 是否开启连接状态的视图,默认为false
    facebook:
      app-id: 指定应用id
      app-secret: 指定应用密码
    linkedin:
      app-id: 指定应用id
      app-secret: 指定应用密码
    twitter:
      app-id: 指定应用ID.
      app-secret: 指定应用密码
  thymeleaf:
    cache: 是否开启模板缓存,默认true
    check-template-location: 是否检查模板路径是否存在,默认true
    content-type: '指定Content-Type,默认为: text/html'
    enabled: '是否允许MVC使用Thymeleaf,默认为: true'
    encoding: '指定模板的编码,默认为: UTF-8'
    excluded-view-names: 指定不使用模板的视图名称,多个以逗号分隔.
    mode: '指定模板的模式,具体查看StandardTemplateModeHandlers,默认为: HTML5'
    prefix: 指定模板的前缀,默认为:classpath:/templates/
    suffix: 指定模板的后缀,默认为:.html
    template-resolver-order: 指定模板的解析顺序,默认为第一个.
    view-names: 指定使用模板的视图名,多个以逗号分隔.
  velocity:
    allow-request-override: 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
    allow-session-override: 指定HttpSession的属性是否可以覆盖controller的model的同名项
    cache: 是否开启模板缓存
    charset: 设定模板编码
    check-template-location: 是否检查模板路径是否存在.
    content-type: 设定ContentType的值
    date-tool-attribute: 设定暴露给velocity上下文使用的DateTool的名
    enabled: 设定是否允许mvc使用velocity
    expose-request-attributes: 是否在merge模板的时候,将request属性都添加到model中
    expose-session-attributes: 是否在merge模板的时候,将HttpSession属性都添加到model中
    expose-spring-macro-helpers: 设定是否以springMacroRequestContext的名来暴露RequestContext给Spring’s macro类库使用
    number-tool-attribute: 设定暴露给velocity上下文的NumberTool的名
    prefer-file-system-access: 是否优先从文件系统加载模板以支持热加载,默认为true
    prefix: 设定velocity模板的前缀.
    properties: 设置velocity的额外属性.
    request-context-attribute: 设定RequestContext attribute的名.
    resource-loader-path: '设定模板路径,默认为: classpath:/templates/'
    suffix: 设定velocity模板的后缀.
    toolbox-config-location: 设定Velocity Toolbox配置文件的路径,比如 /WEB-INF/toolbox.xml.
    view-names: 设定需要解析的视图名称.
  view:
    prefix: 设定mvc视图的前缀.
    suffix: 设定mvc视图的后缀.

以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。

如果你想了解更多关于Leo,可以关注公众号-程序员Leo,后面文章会首先同步至公众号。

本文由博客一文多发平台 OpenWrite 发布!