Organizational Research By

Surprising Reserch Topic

Experts Most Trusted Topic


spring autowired bean for aspect aspect is null using -'java,spring,aop,aspectj,spring-aop'


spring autowired bean for aspect aspect is null  using -'java,spring,aop,aspectj,spring-aop'

I have the following spring configuration:

<context:component-scan base-package="uk.co.mysite.googlecontactsync.aop"/>

<bean name="simpleEmailSender" class="uk.co.mysite.util.email.simple.SimpleEmailSenderImplementation"/>

<aop:aspectj-autoproxy/>


Then I have an aspect:

@Aspect
public class SyncLoggingAspect {
    @Autowired
    private SimpleEmailSender simpleEmailSender

    @AfterReturning(value="execution(* uk.co.mysite.datasync.polling.Poller+.doPoll())", returning="pusher")
    public void afterPoll(Pusher pusher) {      
        simpleEmailSender.send(new PusherEmail(pusher));
    }
}


This aspect works (I can hit a breakpoint on afterPoll) but simpleEmailSender is null. Unfortunately I cannot find clear documentation on why this is.  (For the record, my simpleEmailSender bean exists and is correctly wired into other classes) The following things confuse me:


Is context:component-scan supposed to be picking up @Aspect?  If it is then surely it would be a spring managed bean, thus autowired should work?
If context:component-scan isn't for creating aspects, how is my aspect being created?  I thought aop:aspectj-autoproxy just creates a beanPostProcessor to proxy my @Aspect class?  How would it do this if it isn't a spring managed bean?


Obviously you can tell I don't have an understanding of how things should be working from the ground up.
    

asked Sep 7, 2015 by rajesh
0 votes
12 views



Related Hot Questions



Walkin Jobs Opening



Government Jobs Opening


...