切面用来干什么:
在平时的开发中会产生很多的重复代码(每次都要创建)
业务逻辑代码反而不多
动态代理说明:
动态类是在内存中生成的,如果是接口的话他就会去实现你的接口。
public class Dog {
private String name="旺财";
public void getName() {
System.out.println("嘻嘻哈哈");
}
}
--------------------------------------------------------------------------------------
public class Dog1 extends Dog {//继承与dog是dog的子类
public void getName() {//举例这个就是动态代理类,只不过动态代理类是在内存中生成的
System.out.println("我是执行前要执行的重复代码");
Dog dog = new Dog();
dog.getName();
System.out.println("我是执行后要执行的重复代码");
}
}
—————————————————————————————
Dog1 dog = new Dog1();//在同带代理工厂中创建的其实是类,调用的也是子类中重写的方法
dog.getName();
在Xml中配置:开启切面
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>