简化 @RestController @RequestMapping ,自定义spring注解

简化 @RestController @RequestMapping ,自定义spring注解

@RestController
@RequestMapping(value = "/mark")
public class MarkController

这是我们经常看到的两个注解,每次都要写两行,为了提高速度,所以要封装一下这俩个注解。不知道为什么spring为什么不封装一个,比如他官方提供的PostMapping等,以下是注解的代码。

/**@Title: TRestController.java 
 * @Description: 简化 @RestController @RequestMapping
 * @author nelson 
 * @date 2018年4月14日 下午1:50:33
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RestController
@RequestMapping
public @interface TRestController {
    /**
     * Alias for {@link RequestMapping#name}.
     */
    @AliasFor(annotation = RequestMapping.class)
    String name() default "";

    /**
     * Alias for {@link RequestMapping#value}.
     */
    @AliasFor(annotation = RequestMapping.class)
    String[] value() default {};

    /**
     * Alias for {@link RequestMapping#path}.
     */
    @AliasFor(annotation = RequestMapping.class)
    String[] path() default {};

}

封装后就这样使用即可,是不是省了一行代码

@TRestController("forum")
public class ForumController

@Target(ElementType.TYPE) 指定只能在类上使用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逢魔安全实验室

Some Linux Hacking Tricks

3685
来自专栏Ken的杂谈

Spring Cloud 入门教程3、服务消费者(Feign)

Feign是基于Ribbon封装的HTTP Client工具包,Feign的目标是简化HTTP Client。Feign也确实做到了这一点,使用Feign发起H...

2113
来自专栏happyJared

Spring Boot几种启动问题的解决方案

  使用Spring Boot以来,遇到和解决过好几次不同的项目启动问题,大多数事故起于错误的配置和依赖。因此,本文用于汇总这些问题,以及提供相应的解决方案,帮...

3971
来自专栏JAVA后端开发

spring boot2集成activiti6的问题记录

经查,是因为我用mybatis plus,要求用mybatis3.4.6,而activiti用的是mybatis3.4.2,两边有冲突,直接排除activiti...

8023
来自专栏一个会写诗的程序员的博客

第3章 Spring Boot快速开始Hello World本章源代码

首先安装Spring Boot CLI,参考文档:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT...

1104
来自专栏玩转JavaEE

Spring Cloud中声明式服务调用Feign

前面几篇文章我们详细的介绍了Ribbon、RestTemplate、Hystrix组件,这些组件是我们Spring Cloud中非常基础的组件,小伙伴们在使用的...

73311
来自专栏专业duilib使用+业余界面开发

Error code of Media server (MediaPlayer内核异常码说明)

4844
来自专栏Ken的杂谈

Spring Cloud 入门教程2、服务消费者(Ribbon)

Ribbon是Netflix开源的实现了负载均衡等功能的RPC客户端。 支持HTTP、TCP、UDP协议,且有一定的容错、缓存等机制。

1912
来自专栏张善友的专栏

MS 的IOC容器(ObjectBuilder)?

MS 的 Net Framework 2.0的Enterprise Library - November 2005 CTP 和Composite User I...

1907
来自专栏Spring相关

第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC

DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来...

1372

扫码关注云+社区