Theia是一个java语言编写的,支持自定义扩展的注解式配置加载与注入组件,旨在以注解的方式加载任何可以被表示成Properties 对象的配置,并注入给目标对象,同时支持当配置内容发生变更时回调更新。配置文件的来源可以是本地文件、网络,以及第三方配置系统。Theia默认支持从ClassPath加载本地配置文件,并支持以SPI的方式扩展以支持更多的配置来源,例如从ZK加载配置等。
特性一览:
支持以注解的方式加载多种配置数据源,并注入给配置对象。支持预注入,预注入会校验配置的合法性,如果不合法则会放弃注入,避免配置出错影响服务的正常运行。支持配置变更时回调更新,默认关闭,并允许用户配置是否启用。内置基本类型转换器,用于将String类型配置项转换成目标类型对象。支持自定义类型转换器,以实现一些定制化的类型转换。支持以原生字符串或Properties对象的形式注入。支持监听注入过程(InjectEventListener)和更新过程(UpdateEventListener)。支持加载系统环境变量,并注入给配置对象。支持${} 占位符替换,使用指定的配置项替换占位符。支持以SPI的方式扩展以支持更多类型的配置数据源。对于Spring应用,支持自动扫描、加载并初始化配置对象。
评论