如何扩展Spring MVC Controller Annotation?

时间:2014-11-30 07:33:34

标签: java spring-mvc

我希望像这样的代码可以唤醒。我该怎么办?

@Target(value=ElementType.TYPE)
@Retention(value=RetentionPolicy.RUNTIME)
@Controller
@RequestMapping(value=RSI.DEFAULT_MAPPING + mapping())
public @interface RSI {
  public final static String DEFAULT_MAPPING = "/RSI";
  public String mapping() default "";
}


@RSI(mapping="/XXX")
public class XXXRSI {

1 个答案:

答案 0 :(得分:1)

Spring使用许多类(作为在MVC配置中注册的bean)来注册和处理在@Controller类中声明的处理程序方法。您应该看到的两个主要类别是RequestMappingHandlerMappingRequestMappingHandlerAdapter

他们没有内置的方法去做你的建议。您必须扩展这些类型(或使用适当的接口编写新类型)并注册它们而不是上面的类型。这不是一项微不足道的任务。