Dependencia de primavera inyectando un aspecto anotado

Usando Spring He tenido algunos problemas con hacer una inyección de dependencia en una clase de Aspecto anotada. CacheService se inyecta en el inicio del contexto de Spring, pero cuando se realiza el tejido, dice que el servicio de caché es nulo. Así que me veo obligado a reubicar el contexto de primavera manualmente y obtener el bean desde allí. ¿Hay otra manera de hacerlo?

Aquí hay un ejemplo de mi aspecto:

import org.apache.log4j.Logger;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import com.mzgubin.application.cache.CacheService;

@Aspect
public class CachingAdvice {

  private static Logger log = Logger.getLogger(CachingAdvice.class);

  private CacheService cacheService;

  @Around("execution(public *com.mzgubin.application.callMethod(..)) &&"
            + "args(params)")
    public Object addCachingToCreateXMLFromSite(ProceedingJoinPoint pjp, InterestingParams params) throws Throwable {
    log.debug("Weaving a method call to see if we should return something from the cache or create it from scratch by letting control flow move on");

    Object result = null;
    if (getCacheService().objectExists(params))}{
      result = getCacheService().getObject(params);
    } else {
      result = pjp.proceed(pjp.getArgs());
      getCacheService().storeObject(params, result);
    }
    return result;
  }

  public CacheService getCacheService(){
    return cacheService;
  }

  public void setCacheService(CacheService cacheService){
    this.cacheService = cacheService;
  }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta