spring-aop入门之静态代理模式

来源:互联网 发布:淘宝开店宝软件 编辑:程序博客网 时间:2024/05/20 09:44

IUserDao.java

package cn.itcast.a_static;// 接口public interface IUserDao {void save();}

UserDao.java

package cn.itcast.a_static;/** * 目标对象 * @author Jie.Yuan * */public class UserDao implements IUserDao{@Overridepublic void save() {System.out.println("-----已经保存数据!!!------");}}

UserDaoProxy.java

package cn.itcast.a_static;/** * 代理对象(静态代理) *    代理对象,要实现与目标对象一样的接口 * @author Jie.Yuan * */public class UserDaoProxy implements IUserDao{// 接收保存目标对象private IUserDao target;public UserDaoProxy(IUserDao target) {this.target = target;}@Overridepublic void save() {System.out.println("开始事务...");target.save(); // 执行目标对象的方法System.out.println("提交事务...");}}

App.java

package cn.itcast.a_static;public class App {public static void main(String[] args) {// 目标对象IUserDao target = new UserDao();// 代理IUserDao proxy = new UserDaoProxy(target);proxy.save();  // 执行的是,代理的方法}}

输出:

开始事务  =============UserDaoProxy.java ---save()
-----已经保存数据!!!  ============UserDao---save()
提交事务   ===========UserDaoProxy.java ---save()


0 0