【C015366】Spring配置内容如下:
<aop:aspectj-autoproxy />
<bean id="observer" class="demo.Observer" />
<bean id="myBean" class="demo.MyBean" />
<bean id ="yourBean" class="demo.YourBean" />
则以下代码:
public class MyBean {
public void show(){
System.out.println("My Bean execute!");
}
}
public class YourBean {
public void show(){
System.out.println("Your Bean execute!");
}
}
@Aspect
public class Observer {
@Pointcut("execution(* demo.My*.*(..))")
public void point(){}
@Before("point()")
public void doBefore(){
System.out.println("doBefore");
}
}
public class TestAop {
public static void main(String[] args) {
ApplicationContext ac =
new ClassPathXmlApplicationContext("applicationContext.xml");
MyBean myBean1 = (MyBean) ac.getBean("myBean");
YourBean yourBean = (YourBean) ac.getBean("yourBean");
myBean1.show();
yourBean.show();
}
}
输出结果是( )
A.doBefore
My Bean execute!
Your Bean execute!
B.doBefore
My Bean execute!
doBefore
Your Bean execute!
C.My Bean execute!
Your Bean execute!
D.My Bean execute!
doBefore
Your Bean execute!