1 4 package com.tcspring; 5 6 import org.springframework.context.ApplicationContext; 7 import org.springframework.context.support.ClassPathXmlApplicationContext; 8 9 import com.tc.aspectwerkz.AspectContext; 10 import com.tc.aspectwerkz.aspect.AbstractAspectContainer; 11 12 import java.util.Map ; 13 14 19 public final class SpringAspectContainer extends AbstractAspectContainer { 20 21 public static final String BEAN_FACTORY_KEY = "bean-factory"; 22 23 private final ApplicationContext m_beanFactory; 24 25 34 public SpringAspectContainer(final Class aspectClass, final ClassLoader aopSystemClassLoader, final String uuid, 35 final String qualifiedName, final Map parameters) { 36 super(aspectClass, aopSystemClassLoader, uuid, qualifiedName, parameters); 37 String beanConfig = (String ) parameters.get(BEAN_FACTORY_KEY); 38 if (beanConfig == null) { throw new AssertionError (); } 39 40 m_beanFactory = new ClassPathXmlApplicationContext(beanConfig); 41 } 42 43 49 protected Object createAspect(final AspectContext aspectContext) { 50 return m_beanFactory.getBean(aspectContext.getName()); 51 } 52 } 53 | Popular Tags |