java如何使用应用程序。javax中的属性值。验证注释
我在application.yaml
文件中有一个名为notification.max-time-to-live
的变量,希望将其用作javax.validation.constraints.@Max()
注释的值
我尝试过很多方法(使用env.getProperty()、@Value等),它说它必须是一个常量值,有什么方法可以做到这一点吗
你可以在下面搜索框中键入要查询的问题!
我在application.yaml
文件中有一个名为notification.max-time-to-live
的变量,希望将其用作javax.validation.constraints.@Max()
注释的值
我尝试过很多方法(使用env.getProperty()、@Value等),它说它必须是一个常量值,有什么方法可以做到这一点吗
# 1 楼答案
我知道这并不能直接回答我的问题,正如M. Deinum已经说过的,答案是否定的。尽管如此,这是一个简单的解决办法
的确
@Max
和其他javax注释不允许我们使用动态值,但是,我们可以创建一个自定义注释(正如M.Deinum所建议的),它使用来自application.yaml
的值和spring@Value
以及相应的验证器
现在我们只需要在相应的类中添加这个自定义注释