我宣布了一个方面,只有在"测试"个人资料有效。 Spring似乎并没有考虑 @Profile annotation ,无论是否使用" test"个人资料被激活。
以下是代码块:
import org.springframework.context.annotation.Profile;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
@Configurable
@Profile("test")
public class MyAspect {
@Autowired
private MyService service;
@Pointcut("execution(private * method(..)) && args(table,..)")
public void myPointcut(StatsParameterTable table) {}
@AfterReturning(pointcut = "myPointcut(table)")
public void intercept(StatsParameterTable table) {
myService.doStuff(table);
}
}
春季版:4.1.7.RELEASE
AspectJ版本:1.8.2
答案 0 :(得分:-1)
要使@Profile正常工作,您的类应该是@Component或@Configuration(不可配置)。尝试用@Component注释类。