跳到主要内容

v5.3.0 (2026-10-05)

<dependency>
<groupId>net.hasor</groupId>
<artifactId>hasor-web</artifactId>
<version>5.3.0</version>
</dependency>

更新内容​

  • 新增
    • 支持方法级 @MappingTo 路由映射。
    • 支持类级公共路径前缀。
    • 支持自动扫描路由。
    • 支持按 HTTP 方法区分同一路径。
    • 启动时检查路由冲突。
    • 新增 MVC 拦截器 HandlerInterceptor。
    • 新增统一异常处理器 ExceptionHandler。
    • 新增 Invoker.setSkipRender(),支持跳过结果渲染。
    • 静态资源支持 CacheControl 缓存策略。
    • @Bean 工厂方法参数支持 @Inject 注入。
  • 修复
    • 修复未被引用的单例 @Bean 未在启动时初始化的问题。
    • 修复 void Action 的异常处理结果无法渲染的问题。
    • 修复请求结束后参数缓存未清理的问题。
    • 修复未匹配 Action 时读取内容类型的空指针异常。
    • 修复 Boot 启动时 Web 访问地址日志缺失或不准确的问题。
  • 优化
    • 统一 MVC 结果渲染流程。
    • 分离异步请求的错误处理与结束逻辑。
    • Boot Loader 内置并隔离运行依赖。
    • Cobble 升级至 5.0.4。
    • IDE 代码格式配置移至 community 目录。

升级说明​

  • ResourceBinder.cacheControl 改用 CacheControl,详见静态资源。
  • 单例 @Bean 在启动时创建并执行 initMethod,需检查初始化时机。
  • 自定义 Invoker 需实现 setSkipRender() 和 isSkipRender()。
  • 自定义 WebApiBinder 需实现 bindInterceptor(...) 和 addExceptionHandler(...)。
  • 直接调用 RenderProcessor 时,先执行 initInvoker(invoker),再用 invoke(invoker, finalResult) 渲染结果。
  • 自定义 AsyncInvocationWorker 时,由 finish(boolean) 负责结束与重新分发,详见异步请求。