Spring Modulith 1.4 现已正式发布,该版本包含许多新功能,具体如下:
Core
- 完善 core
ApplicationModule(s)
abstractions 和文档生成(GH-1150,GH-1152) - 引入了 SPI 用于以编程方式检测
NamedInterfaces
(GH-1009) - 修复了
JavaPackage
中一个错误地重复重新计算所有子包的性能问题。(也在 1.3.4 和 1.2.10 中修复,GH-1098)
Testing
- 使用
@ApplicationModuleTest
的集成测试现在可以使用测试源中声明的类的 bean 实例。(GH-202) - 如果 AssertJ 位于类路径上,则在
ApplicationContext
中注册的全局PublishedEvents
实例现在将是AssertablePublishedEvents
( GH-1110)
Events
- core event publication registry 和 observability instrumentation 的性能均得到改进。(GH-1146,GH-1149)
- event publication 基础架构已经过改进,现在也支持结构相同的事件(GH-1056)。
Runtime and Observability Support
- 运行时支持已改进,避免了依赖外部库对应用程序模块进行拓扑排序,从而可以按依赖顺序遍历它们 ( GH-1060 )。这允许在应用程序元数据文件中假定一个稳定的模块顺序(以前仅在 AOT 模式下创建),现在在生成文档时也会写入 ( GH-1063 )。这反过来又允许避免在运行时完全引导
ApplicationModules
实例,例如执行ApplicationModuleListener
bean ( GH-1062、GH-1065 )。 - 迁移至 Micrometer Observations API,将现有的基于 tracing API 的仪器移植到更现代的 observations API,该 API 允许更细粒度的集成和指标捕获。(GH-928)
- 可观察性模块现在会自动为模块发布的应用程序事件创建计数器。引入了一个新的
ModulithEventMetrics
API,可通过在ApplicationContext
中注册的ModulithEventMetricsCustomizer
bean 使用。(GH-1068)
Configuration
-
考虑为创建的代理设置全局代理。(GH-933)
Documentation generation
- Scenario API 默认仅将非空集合视为成功的状态转换(GH-1131)
同时,此版本还包含对最新 Spring Boot 3.5 和 Framework 6.2 版本以及 ArchUnit 1.4 的升级。错误修复版本也更新到其最新的上游依赖项。有关详细信息,可查看完整的 1.4 更新日志。
接下来,项目团队将为 11 月即将发布的 2.0 主要版本做准备。此外,可关注 IntelliJ 为 IDEA 提供的 Spring Modulith 支持。