Spring自定义注解

Spring自定义注解

老师你好,最近在接触一个springboot的开源项目,看到自定义注解的时候有点不解,查阅资料也没找到想要的答案,我想知道使用spring自定义注解有什么作用,代码如下:

@Retention(RetentionPolicy.RUNTIME)
public @interface Function {
   public String value();
   public String name() default "";
}
@RequestMapping(MODEL + "/list.json")
@Function("function.query")
@ResponseBody
public JsonResult<PageQuery<CoreFunction>> list(FunctionQuery condtion) {
 
    PageQuery page = condtion.getPageQuery();
    functionConsoleService.queryByCondtion(page);
    return JsonResult.success(page);
 
}

元注解的作用我都能通过资料了解,但是,在Controller里面使用到自定义注解@Function("function.query"),这个作用我不是很明白,望老师解答。

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,在实战中,注解一般用在方法上,比如:做用户权限校验。指定哪些权限的用户可以此方法。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-07-19 11:51:56

同学你好,根据同学提供的代码信息,老师并不能确认@Function("function.query")的作用和ValidateConfig.ADD.class的含义,建议同学结合项目完整代码分析。

建议同学可以先往后面学习,学完后再看别人写的项目,这样可能会好懂一些。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 RekklesO #1
    那老师您能说一下,自定义注解在实战中一般会有哪些情况会用到吗
    2020-07-19 14:49:07
提问者 RekklesO 2020-07-18 21:50:02

另外,还有一个问题,如下:

    项目创建了一个工具类,如下:

public class ValidateConfig {
   public interface ADD {
   }
   public interface UPDATE {
   }
}

    在Controller参数里面添加验证信息注解:

  public JsonResult<CoreFunction> addFunction(@Validated(ValidateConfig.ADD.class) CoreFunction function) {
return JsonResult.success(function);
  }

    CoreFunction 实体类如下(省去Get/Set):

public class CoreFunction extends BaseEntity   {
   
   @NotNull(message = "ID不能为空", groups = ValidateConfig.UPDATE.class)
   @SeqID(name = ORACLE_CORE_SEQ_NAME)
   @AutoID
    protected Long id;

    //创建时间
   @UpdateIgnore
    protected Date createTime;
   private String accessUrl ;
   @NotBlank
   private String code ;
    @NotBlank
   private String name ;
   @NotBlank
   private Long parentId ;
   @Dict(type=CoreDictType.FUNCTION_TYPE)
   @NotBlank
   private String type = null;//"FN0" ;
}

我不是很明白Controller里面校验注解传入的参数ValidateConfig.ADD.class是什么意思,望老师解答。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师