【问题标题】:Is it possible to create my own Custom Annotation that act as Spring @Controller annotation?是否可以创建我自己的自定义注释作为 Spring @Controller 注释?
【发布时间】:2015-01-18 22:22:34
【问题描述】:

在我的 Spring 应用程序中,我有带有两个注释的控制器:

@Controller - Spring注解

@AdminPanelController - 我的注释

是否可以更改我的注释以便在不需要另外放置 @Controller 的情况下使用?

我希望 Spring 将我的注释作为 @Controller 注释处理。

【问题讨论】:

  • 你能提供一个你想要做什么的代码示例吗?很难说出你在问什么。

标签: java spring spring-boot


【解决方案1】:

您的问题缺少对您的需求的一些详细解释,但我的假设是您不想费心将注释和 @Controller 都放在管理面板控制器上。您想要 Spring-MVC,您了解任何 @AdminPanelController 都是 @Controller。
这正是 Spring 4.0 中任何 @RestController 中的 @RestController 注释是一个 @Controller(参见源代码 code)。 所以你的@AdminPanelController 注解应该和下面的类似

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
public @interface AdminPanelController {
    String value() default "";
}

因此,尽管 java 注释不支持我们期望的继承(参见 Why is not possible to extend annotations in Java?),但由于 meta-annotation(我使用 4.1 测试过),这将适用于 spring-mvc。

【讨论】:

    【解决方案2】:

    我有理由确定您只需要使用 @Controller 注释 AdminPanelController

    【讨论】:

      猜你喜欢
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 2017-05-05
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多