ImmutableModuleV3AutoConfiguration.kt
package io.github.lishangbu.avalon.jimmer.jackson
import org.babyfish.jimmer.jackson.v3.ImmutableModuleV3
import org.springframework.boot.autoconfigure.AutoConfiguration
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration
import org.springframework.boot.jackson.autoconfigure.JsonMapperBuilderCustomizer
import org.springframework.context.annotation.Bean
/**
* Jimmer Jackson 模块自动配置
*
* 向 JsonMapper 注册 Jimmer 的不可变对象支持模块
*/
@AutoConfiguration(
before = [JacksonAutoConfiguration::class],
)
class ImmutableModuleV3AutoConfiguration {
/** 创建 JsonMapper 构建器定制器 */
@Bean
fun jsonMapperBuilderCustomizer(): JsonMapperBuilderCustomizer =
JsonMapperBuilderCustomizer { builder ->
builder.addModule(ImmutableModuleV3())
builder.addModule(InputModuleV3())
}
}