自定义注解的理解和使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao320321/article/details/82183661

   一直想写文章来着,因为之前不知道在什么地方写,今天找到了,写下我的第一篇文章

      之前觉的自定义注解很难,中间也学习了一段时间,因为平时用的不多也忘了,前段时间和同事下班聊天,他说写过,就好奇问了下,自定义注解我只会写一个注解,但是不知道怎么用,原以为加@interface的类就是自定义注解,可以使用,其实不然,这两天好奇看看自定义注解是怎么用,上网也查了一些资料和同事的帮忙,今天写个文章记录下来,文章会写的比较简单,主要是为了记录流程.

第一:自己自定义个注解类,只要在你的类上加上@interface,这样一个自定义的注解类就完成了

第二:写完自己定的注解类,这个时候还不能用,需要用响应的解析类来解析,这个时候需要用的Spring的一个接口,即HandlerMethodReturnValueHandler,这个接口中有两个方法如下:

    @Override
    public boolean supportsReturnType(MethodParameter returnType) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer,
            NativeWebRequest webRequest) throws Exception {
        // TODO Auto-generated method stub
        
    }

自己写个类实现这个接口,在第二个方法中写如何去解析,具体的解析我也没有仔细的去分析,到网上找找会有很多,我也大概看了下,这个地方我眼高手低了,我自己会再后面找时间去看下,主要是觉得就是一堆的按照自己规则去解析,也没什么就没有细看了.

第三:这两个写好后,就可以使用了,再controller层入参的地方加上自己的注解(不仅仅 是入参,还可以加在属性上 方法上 类上),记得再xml文件(spring-servlet.xml)中加上这个配置:

 <mvc:annotation-driven conversion-service="conversionService">
        <mvc:argument-resolvers>
            <bean class="com.suning.cdpos.utils.web.MyHandlerArgumentResolver"/>
        </mvc:argument-resolvers>
    </mvc:annotation-driven>

这个是返回的,返回的时候 对返回值进行处理

 <mvc:annotation-driven conversion-service="conversionService">

        <mvc:return-value-handlers>
            <bean class="com.suning.cdpos.utils.web.MyReturnValueResolver"></bean>
        </mvc:return-value-handlers>

  </mvc:annotation-driven>

猜你喜欢

转载自blog.csdn.net/xiao320321/article/details/82183661