首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring中的自定义注解

spring中的自定义注解
EN

Stack Overflow用户
提问于 2014-06-04 12:47:24
回答 1查看 444关注 0票数 0

我正在尝试在spring中实现自定义注释,如下所示:-测试注释如下

代码语言:javascript
复制
@Documented
@Target( { ElementType.METHOD, ElementType.FIELD })
@Constraint(validatedBy=CheckUser.class)
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
String user();
}

为了验证,我编写了CheckUser类,如下所示:

代码语言:javascript
复制
private String xyz;
@Override
public void initialize(Test user) {
xyz=user.toString();
}

@Override
public boolean isValid(Principal principal, ConstraintValidatorContext context) {
if(principal.getName().equalsIgnoreCase(xyz))
return true;
else
return false;
}

但它不起作用。有人能告诉我这里出了什么问题吗??

在安全性和我编写的应用程序上下文中

代码语言:javascript
复制
<Secured:global-method-security secured-annotations="enabled" pre-post-annotations="enabled" jsr250-annotations="enabled"/>
EN

回答 1

Stack Overflow用户

发布于 2014-06-05 01:23:31

您需要包含消息、组和有效负载,这样才能很好地符合JSR-303规范:http://beanvalidation.org/1.0/spec/#constraintsdefinitionimplementation-constraintdefinition-properties

代码语言:javascript
复制
@Documented
@Target( { ElementType.METHOD, ElementType.FIELD })
@Constraint(validatedBy=CheckUser.class)
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {

    String user();

    String message() default "test failed"

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

    Class<? extends Payload>[] payload() default {};
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24029225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档