此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
附注
Spring Framework 还利用 Kotlin null-safety 来确定是否需要 HTTP 参数,而无需显式
定义required
属性。这意味着@RequestParam name: String?
被治疗
作为不需要,相反,@RequestParam name: String
被视为必需的。
Spring Messaging 也支持此功能@Header
注解。
以类似的方式,春豆注射@Autowired
,@Bean
或@Inject
使用
此信息用于确定是否需要 bean。
例如@Autowired lateinit var thing: Thing
意味着 bean
类型Thing
必须在应用程序上下文中注册,而@Autowired lateinit var thing: Thing?
如果这样的 bean 不存在,则不会引发错误。
遵循同样的原则,@Bean fun play(toy: Toy, car: Car?) = Baz(toy, car)
意味 着
那 一种豆子Toy
必须在应用程序上下文中注册,而
类型Car
可能存在也可能不存在。相同的行为也适用于自动连接的构造函数参数。
如果对具有属性或主构造函数的类使用 bean 验证
对于参数,您可能需要使用注释 use-site targets,
如@field:NotNull 或@get:Size(min=5, max=15) ,如此 Stack Overflow 响应中所述。 |