附录

参考文档的这一部分涵盖了适用于多个模块的主题在整个框架内。

TODAY Properties

TodayStrategies 是控制基础架构某些低级方面的属性的静态持有者。 用户可以通过JVM系统属性配置这些属性,也可以通过 TodayStrategies.setProperty(String key, String value) 方法。 如果部署环境不允许自定义JVM系统属性,则可能需要后者。作为一种选择,这些属性可以在 today.properties 文件。 属性文件放在类路径的根目录中——例如,部署在应用程序的JAR文件中。

下表列出了所有当前支持的 properties.

字段名称 描述

infra.web.prevent-RFD-exploits

阻止 RFD 攻击开关,默认开启。

infra.beans.fields.ignore

忽略扫描 bean 字段,只扫描 getter,setter. 默认关闭

infra.aop.ajc.ignore

在同时启用了编织(weaving)和 AspectJ 自动代理的情况下,Infra 忽略 ajc 编译的 aspects,以便在 Infra AOP 代理中恢复传统的 Infra 行为。详见 AbstractAspectJAdvisorFactory

infra.aot.enabled

表示应用程序应该使用AOT生成的组件运行. 详见 Ahead of Time OptimizationsAotDetector.

infra.cache.reactivestreams.ignore

缓存基础架构忽略响应式流的存在,特别是在@Cacheable方法返回类型声明中的反应器的Mono/Flux。 详见 CacheAspectSupport

infra.classformat.ignore

在类路径扫描期间忽略类格式异常,特别是对于不受支持的类文件版本。详情请参见 ClassPathScanningCandidateComponentProvider

infra.context.checkpoint

该属性指定公共上下文检查点。详细信息请参见 Automatic checkpoint/restore at startupDefaultLifecycleProcessor

infra.context.exit

用于在上下文到达特定阶段时终止JVM。详细信息请参见 Automatic checkpoint/restore at startupDefaultLifecycleProcessor

spel.default.max-length

Infra Expression Language 全局 SpEL 表达式长度最大值

spel.context.max-length

IoC 容器内 Infra Expression Language 的最大长度, 该值将应用到 XML bean, @Value, etc.

spel.compiler.mode

全局的 Infra Expression Language 编译模式.

infra.getenv.ignore

用于是否忽略系统环境变量的获取,开启之后,将不能获取系统变量,详见: AbstractEnvironment

infra.jndi.ignore

忽略默认 JNDI 环境,作为场景的优化,此类 JNDI 后备搜索一开始就找不到任何内容,从而避免重复的 JNDI 查找开销。详见: JndiLocatorDelegate

infra.test.aot.processing.failOnError

一个标志,控制 AOT 处理期间是否遇到错误 Infra TestContext Framework 应该会导致整个过程失败的异常。 请参阅 单元测试的 AOT 支持

infra.test.constructor.autowire.mode

如果 @TestConstructor 不存在,则使用默认的 test constructor autowire mode。请参阅 更改默认测试构造函数自动装配模式

infra.test.context.cache.maxSize

单元测试上下文缓存的最大大小 Infra TestContext Framework. 详见: 上下文缓存.

infra.test.context.failure.threshold

尝试加载 ApplicationContext 时遇到的错误的失败阈值在里面 Infra TestContext Framework. 详见: 失败阈值.

infra.test.enclosing.configuration

如果使用默认 封闭配置继承模式 测试类中不存在 @NestedTestConfiguration. 详见: 更改默认封闭配置继承模式.

infra.app.temp-prefix

全局 ApplicationTemp 的 默认的临时目录(根目录),统一的临时目录更好管理应用产生的临时文件, 默认值:${java.io.tmpdir}/infra.core.ApplicationTemp/

template.default.loader.path

全局的 模板默认加载路径 默认值:classpath:templates/

template.default.freemarker.prefix

全局的 Freemarker 模板默认前缀 默认值:""

template.default.freemarker.suffix

全局的 Freemarker 模板默认后缀 默认值:.ftl

bytecode.classes.defined.limit

BytecodeCompiler 最大生成个数,超过之后会重新使用新的类加载器。默认值:100

jdbc.type-handler.enum-value-property-name

EnumerationValueTypeHandler JDBC 中枚举值字段名称。在没有使用注解 EnumerationValue 的情况下,会使用该字段获取字段值。默认值:value

jdbc.getParameterType.ignore

用于 是否需要忽略完全 java.sql.ParameterMetaData.getParameterType。 详见: 对对象列表进行批量操作.

sql.logToStdout

SQL 调式打印 是否使用 STDOUT ,如果对应的 Logger(today.SQL) 调试级别开启会使用 Logger 记录。默认值:false。 详见 SqlStatementLogger

sql.format

SQL 调式打印 是否 格式化 默认值:true 详见 SqlStatementLogger

sql.highlight

SQL 调式打印 是否开启 SQL 高亮 默认值:true 详见 SqlStatementLogger

sql.stdoutOnly

SQL 调式打印 是否仅仅使用 STDOUT 禁用 Logger(today.SQL) 记录,即使日志级别打开,默认值:false 详见 SqlStatementLogger

sql.logSlowQuery

today.SQL_SLOW Logger 记录超过该值的 慢SQL 默认值:0 不记录。详见 SqlStatementLogger

server.session.temp-dir

SessionProperties 使用的 默认的会话持久化子目录。该目录父级目录 取决于 ApplicationTemp。默认值:server-sessions

server.session.id.source

SecureRandomSessionIdGenerator 使用该字段配置生成 ID 的源。默认值:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_