简化 @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 条评论
登录 后参与评论

相关文章

来自专栏Spring相关

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

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

1372
来自专栏JAVA后端开发

spring boot2集成activiti6的问题记录

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

7683
来自专栏逢魔安全实验室

Some Linux Hacking Tricks

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

React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解工程源代码参考文章

React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解

1272
来自专栏流媒体

Linux下ndk编译移植FFmpeg到Android平台简介

这里我们选择3.2.4版本(注意:这里使用的3.2.4版本,如果用最新的版本,编译可能出现问题,为了想让大家上手,建议版本先保持一致)。直接github上选择下...

2002
来自专栏Ken的杂谈

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

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

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

《Spring Boot极简教程》第7章 Spring Boot集成模板引擎

其实,没有任何一个模板引擎(jsp,velocity,thymeleaf,freemarker,etc)可以完全实现MVC绝对的分层,只有“自由度”上的界定罢了...

983
来自专栏bboysoul

社会工程学信息收集工具(Userrecon)

这个工具最主要的功能就是可以让你在知道用户名的情况下批量去各个社交网站上查找这个用户名的主页,方便收集对象的主页

2924
来自专栏Ken的杂谈

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

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

1882
来自专栏码农笔录

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

1163

扫码关注云+社区