Я хочу, чтобы такой код мог быть укушен. Как я могу сделать?
@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 {
Spring использует несколько классов (в качестве компонентов, зарегистрированных в вашей конфигурации MVC) для регистрации и обработки методов обработчика, которые вы объявляете в классе @Controller
. Два основных класса, на которые вы должны обратить внимание, - это RequestMappingHandlerMapping
и RequestMappingHandlerAdapter
.
У них нет встроенного способа сделать то, что вы предлагаете. Вам придется расширить эти типы (или написать новые с соответствующими интерфейсами) и зарегистрировать их, а не те, которые указаны выше. Это не тривиальная задача.