jdk动态代理
1. 动态代理是代理被代理的那个类,那么被代理的那个类是Object Taget,就是说他能替那个类添加函数啥的。
2. 代理的那个类里必须有Target的引用,代理的类必须实现jdk里的InvocationHandler接口,它能帮助我们添加方法。
3. 产生代理的类 Proxy.newProxyInstance后,其实代理类和被代理的类里 都有那个共有的接口,所以被代理的类也能访问那个接口的方法。
4. 用动态代理的话,方法执行前后动态的添加 我们需要的方法。这就是动态代理的好处。
IHello.java
HelloImp
LogHandler.java
ProxyDemo.java
上面的改成 Spring AOP的动态代理
IHello不变
HelloImp
LogHandler.java
ProxyDemo.java
bean.xml
这里的<context:component-scan base-package="com.aspn.*">起着 代码里把类当成component的作用。
注意 1. MyEclipse里 Preferences里的 Xml catalog里添加相应的catalog
2. 加入jar包,context,aspectJ里的两个包。
spring帮助文档是 spring-framework-2.5.6/docs/reference/html_single/index.html