我使用了一个自定义注释
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping .
它工作正常,有时它看起来很昂贵,因为所有方法调用,控制权转到 Annotation 实现类。我希望控件仅针对已声明自定义注释的那些方法转到实现类。有人可以告诉我如何实现这一目标。 我已经做到了如下。
在 web.xml 中:-
<context-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>
在 controller.xml 中:-
<bean id="myInterceptor" class="com.common.annotation.MyInterceptor"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="interceptors">
<list>
<ref bean="myInterceptor"/>
</list>
</property>
</bean>
在注释类中: -
@Target({ElementType.METHOD,ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
boolean checkAuth() default true;
}
将其用作:-
@RequestMapping(value = "/user", method = RequestMethod.GET)
@MyAnnotation(checkAuth=true)
public ModelAndView forUser() {........
有人可以建议。