相关疑难解决方法(0)

关于带注释控制器的Spring AOP建议

我试图使用AOP在带注释的控制器之后进行一些处理.一切都在运行,没有错误,但建议没有被执行.

这是控制器代码:

@Controller
public class HomeController {       
    @RequestMapping("/home.fo")
    public String home(ModelMap model) {
        model = new ModelMap();
        return "home";
    }   
}
Run Code Online (Sandbox Code Playgroud)

和application-config中的设置

<aop:aspectj-autoproxy/>

<bean id="testAdvice" class="com.test.TestAdvice">
</bean>

<bean id="testAdvisor"
    class="org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor">
    <property name="advice" ref="testAdvice" />
    <property name="expression" value="execution(* *.home(..))" />
</bean>
Run Code Online (Sandbox Code Playgroud)

和实际的建议

public class TestAdvice implements AfterReturningAdvice {

    protected final Log logger = LogFactory.getLog(getClass());

    public void afterReturning(Object returnValue, Method method, Object[] args,
            Object target) throws Throwable {
        logger.info("Called after returning advice!");
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至可以在带注释的控制器上提供建议吗?我使用的是Spring 2.5.

java aop spring aspectj spring-mvc

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

aop ×1

aspectj ×1

java ×1

spring ×1

spring-mvc ×1