ValidationMessages.properties配置无法正常显示

问题遇到的现象和发生背景

ValidationMessages.properties中配置如下:

TEST = SSSSSSSSSSSSSSSS

自定义注解文件:

package com.atguigu.common.valid;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Constraint(validatedBy = ListValueConstraintValidator.class)
@Documented
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
public @interface ListValue {
    String message() default "{TEST}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};


    int[] values() default {};

}

文件位置

img

然后我在entity里配置了这个自定义注解

    @ListValue(values = {0, 1}, groups = {AddGroup.class, UpdateGroup.class})
    private Integer showStatus;

但是在发送错误请求验证时,这个TEST没有解析出来

img

我也不知道什么原理- -但是在第一行上加了注释,就没问题了- -

# 这是第一行
Test=SSSSSS

@ListValue(values = {0, 1}, groups = {AddGroup.class, UpdateGroup.class},message = "{TEST}")
还有配置文件里不要加空格

你的自定义注解咋处理的,代码要贴出来

我跟源码跟到了最底层
在org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator的resolveParameter方法中

img

(ps:刚刚怀疑是不是配置文件全大写导致的,所以把TEST改成Test)

img

配置文件能正常读取,但是在标红的那一段代码中,

img

报错了,我在百度上搜,说这种错误是大小写的错误- -可是根本没有大小写写错啊