Как выполнить некоторый код с AOP перед каждым методом контроллера Spring и иметь объект Method - PullRequest
1 голос
/ 18 января 2012

Учитывая метод в контроллере Spring, я бы хотел выполнить обработчик "before".Я попробовал некоторый код AspectJ, чтобы сделать это, но я не могу решить это.Я хотел бы получить целевой объект Method, чтобы я мог обрабатывать его аннотации.Является ли это возможным?Как?

1 Ответ

0 голосов
/ 18 января 2012

Написать класс, который реализует интерфейс MethodBeforeAdvice, и перезаписать метод before () в этом классе, в котором вы можете реализовать желаемую логику.

А также укажите свой пользовательский класс в качестве свойства org.springframework.aop.support.RegexpMethodPointcutAdvisor в XML-файле Spring.

 ex: 
    <bean id="methodAuthzAdvice" class="com.src.customClassMethodBeforeAdvice"/>
    <bean id="methodAuthzAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
         <ref local="methodAuthzAdvice"/>
            <property name="advice">
                <ref local="methodAuthzAdvice"/>
            </property>     
                     <property name="pattern">
                <value>.*</value>
            </property>
        </bean>

используйте methodAuthzAdvice id в качестве свойства перехватчика для вашего класса обработчика в xml-файле.

...