随笔 - 714  文章 - 0  评论 - 12812  阅读 - 301万 

刚好需要用到重复注解:

下面进行示例使用:

1、先正常定义一个注解:

复制代码
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD} )
@Inherited
public @interface Require {

    String paraName() default "";
    boolean isRequire() default true;
    String regex() default "";
    String cnParaName() default "";
    String emptyTip() default "";
    String regexTip() default "";
}
复制代码

2、定义一个重复的注解:(名称加了个s)

@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD} )
@Inherited
@interface Requires {
    Require[] value();
}

几个小注意事项:

1、value为原生定义的数组。

2、修饰符public可以改成默认包内允许,对外隐藏掉。

3、给原来的正常定义再加上一个注解:

复制代码
@Repeatable(Requires.class) //加上了这一行。
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD} )
@Inherited
public @interface Require {

    String paraName() default "";
    boolean isRequire() default true;
    String regex() default "";
    String cnParaName() default "";
    String emptyTip() default "";
    String regexTip() default "";
}
复制代码

使用:

    @Require(paraName="id")
    @Require(paraName="name",cnParaName="姓名")
    public void idName2() {
        write("id : "+query("id")+"<br/>");
        write("name : "+query("name")+"<br/>");
    }

 

posted on   路过秋天  阅读(117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
历史上的今天:
2010-08-26 小记图片防盗链
路过秋天
点击右上角即可分享
微信分享提示