相关疑难解决方法(0)

使用Spring @Value时如何进行简单的属性验证

如何检查是否${service.property}不是空字符串,如果是,则抛出某种可读的异常?它必须在Bean创建期间发生。

@Component
public class Service {

  @Value("${service.property}")
  private String property;
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找最简单的方法(编写最少的代码)。如果使用注释,那就太好了。

我当前的解决方案是在属性的设置器中执行“手写”验证,但是对于这种简单的事情来说,代码太多了。

提示:我一直在寻找使用SpEL的方法,因为我已经在内部使用它了@Value,但据我所知,它并不是那么容易/干净。但是本可以忽略一些东西。

澄清:预期的行为是该应用程序将无法启动。目的是确保设置所有属性,尤其是确保字符串属性不为空。错误应该清楚地说明,缺少什么。我不想设置任何默认值!用户必须全部设置。

java validation spring annotations

6
推荐指数
1
解决办法
6311
查看次数

Spring验证字符串值是JSON

我的配置文件中有一些值,它应该是 JSON(它将作为字符串加载)。

我希望 Spring 在注入之前验证该值确实是有效的 JSON,否则会抛出错误。

我已经阅读了现有的验证注释,例如 - @NotNull@Size@Min@Max@Email@NotEmpty

有没有办法创建自定义验证器?

我想要一个验证器尝试将字符串转换为 JSON,如以下示例所示:How to conversion jsonString to JSONObject in Java

java validation spring json annotations

5
推荐指数
1
解决办法
6131
查看次数

标签 统计

annotations ×2

java ×2

spring ×2

validation ×2

json ×1