Autowire对象是NULL spring-aop

时间:2014-10-03 13:25:58

标签: spring-mvc aspectj spring-aop aspectj-maven-plugin

我正在使用spring mvc。在每个控制器上,我想检查作为参数传递的userId是否有效。为此,我利用了spring-aop,在方法调用之前,我读取了作为参数传递的userId并对我的数据库进行了验证。问题是我的数据库(MongoDB存储库)在方面是自动装配的。但是当试图使用这个autowire存储库时,我得到一个NullPointerException。 环顾四周后,我尝试将工厂方法=" aspectOf"在方面的bean定义中,我得到了以下错误 - "找不到匹配的工厂方法:工厂方法' aspectOf()'。检查具有指定名称的方法是否存在,并且它是静态的。"

我的方面配置

<bean id="controllerAspect" class="com.xyz.aspect.ControllerLoggingAspect"/>
<aop:aspectj-autoproxy>
    <aop:include name="controllerAspect" />
</aop:aspectj-autoproxy>

Aspectj maven插件

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <version>1.7</version>
                <configuration>
                    <outxml>true</outxml>
                    <Xlint>warning</Xlint>
                    <verbose>true</verbose>
                    <source>1.6</source>
                    <target>1.6</target>
                    <complianceLevel>1.6</complianceLevel>
                </configuration>
                 <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <showWeaveInfo>true</showWeaveInfo>
                        </configuration>
                    </execution>
                 </executions>
            </plugin>

方面

@Configurable
@Aspect
public class ControllerLoggingAspect  {
@Autowired
private UsersRepository userRepository;

请帮帮我,我需要自动装配mongodb存储库。如果不是自动装配,我还能做什么? 我是否正确甚至在方面自动装配我的mongo存储库? 我已经看到以下答案无济于事: https://stackoverflow.com/questions/25675151/springaspectj-ltw-autowired-causes-npe Injected bean reset to NULL in the Aspect

0 个答案:

没有答案