Spring aop:未拦截的方法

时间:2016-04-22 06:03:12

标签: java spring-mvc spring-aop

我遵循本教程http://www.mkyong.com/spring/spring-aop-examples-advice/

这一定很简单,但我无法在我的应用中使用。 在我的ApplicationContextConfig类中,我添加它来读取Spring-Customer.xml文件;

@ImportResource("classpath:/Spring-Customer.xml")

My Spring-Customer.xml与教程完全相同。 在我的控制器中,我有这个

@RequestMapping(value="/", method=RequestMethod.GET)
    public ModelAndView list(){
        List<PersonDto> personDtos = personService.getAllPersons();
        ModelAndView model = new ModelAndView("index");
        model.addObject("persons",personDtos);
        model.addObject("roles",personService.getRoles());


        System.out.println("*************************");
        customerService.printName();
        System.out.println("*************************");
        customerService.printURL();
        System.out.println("*************************");
        try {
            customerService.printThrowException();
        } catch (Exception e) {

        }
        return model;
    }

因此,每当我使用localhost:8080 url运行应用程序时,我插入的那些sysout必须在控制台中看到。

预期输出应为

*************************
HijackBeforeMethod : Before method hijacked!
Customer name : Yong Mook Kim
*************************
HijackBeforeMethod : Before method hijacked!
Customer website : http://www.mkyong.com
*************************
HijackBeforeMethod : Before method hijacked!

我在控制台中看到的只是这个

*************************
Customer name : Yong Mook Kim
*************************
Customer website : http://www.mkyong.com
*************************

我做错了什么?任何意见将是有益的。我是春天的新人。提前谢谢。

编辑:Spring-Customer.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="customerService" class="com.training.hibernate.services.impl.CustomerService">
        <property name="name" value="Yong Mook Kim" />
        <property name="url" value="http://www.mkyong.com" />
    </bean>

    <bean id="hijackBeforeMethodBean" class="com.training.hibernate.aspect.HijackBeforeMethod" />

    <bean id="customerServiceProxy"
                 class="org.springframework.aop.framework.ProxyFactoryBean">

        <property name="target" ref="customerService" />

        <property name="interceptorNames">
            <list>
                <value>hijackBeforeMethodBean</value>
            </list>
        </property>
    </bean>
</beans>

0 个答案:

没有答案