bblistener
2010-10-21 22:09
采纳率: 0%
浏览 212
已采纳

关于java Anotation注释成员斌值问题,是不是必须为每一个注释成员斌值?

java中自定义Annotation时,是不是一定要为每一个注释成员斌值呢,不知道javax.persistence.Column注释是怎么实现的
使用javax.persistence.Column时为什么不用为每一个注释成员斌值。
本人现做一个小测验如下:

一、Validate.java,验证用的注解
package com.wanghaisheng.generator.support;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Validate {
//必输字段
boolean required();
//最小长度
public abstract int minLength();
//最大长度
public abstract int maxlength();
//[3,10] 长度介于 3 和 {1} 之间的字符串
public abstract String rangelength();
//[100,1000] 只能是100和 1000 之间的值
public abstract String range();
//最小值
public abstract long min();
//最大值
public abstract long max();
//验证邮箱
public abstract boolean email();
//验证是否是合法的网址
public abstract boolean url();
//验证是否是合法的日期 new Date() 类型格式
public abstract boolean date();
//验证是否是合法的日期 年/月/日 或 年-月-日 格式
public abstract boolean dateISO();
//验证是否是合法的数字
public abstract boolean number();
//验证是否为整数
public abstract boolean digits();
//验证合法的信用卡号
public abstract boolean creditCard();
//要匹配的元素如:’#cnfpass’ , 验证两次输入值是否相同
public abstract String equalTo();
//“gif|png|jpg” 验证是否是合法后缀名的字符串
public abstract String accept();

}

然后我定义一个POJO使用该注解
二、User.java

package com.wanghaisheng.model;

import com.wanghaisheng.generator.support.Validate;

public class User {
private String userName;
private String password;

@Validate(accept = "", creditCard = false, date = false, dateISO = false, digits = false,   email = false, equalTo = "", max = 0, maxlength = 0, min = 0, minLength = 0, number = false, range = "", rangelength = "", required = false, url = false)
public String getUserName() {
    return userName;
}
public void setUserName(String userName) {
    this.userName = userName;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

}

各位大侠,能不能邦小弟实现使用Validate注解时只为其中的几个成员斌值,或不用为他们斌值,
如:
@Validate(email = true)
public String getUserName() {
return userName;
}
而不用当使用Validate注解时加上那么一大堆难看的无用的代码。
我知道javax.persistence.Column注解是能够实现的。
大侠们,望快点伸出援手啊,小弟急啊

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • lizhiyezi 2010-10-21 22:13
    已采纳

    可以再声明的时候使用默认值
    public abstract boolean creditCard() default false;

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题