- 使用代理通知完善业务逻辑
1.首先还是BankDao接口
package com.xiao.dao;
public interface BankDao {
// 存钱
public void saveMoney();
// 取钱
public void withdrawMoney();
// 转帐
public void transfer();
}
2.实现接口
package com.xiao.dao.daoImp;
import com.xiao.dao.BankDao;
public class BankDaoImp implements BankDao {
@Override
public void saveMoney() {
System.out.println("存钱的业务逻辑");
}
@Override
public void withdrawMoney() {
System.out.println("取钱的业务逻辑");
}
@Override
public void transfer() {
System.out.println("转账的业务逻辑");
}
}
3.分别写一个验证的方法和事务的方法
// 验证方法
package com.xiao.dao.daoImp;
public class AdminCheck {
public void check(){
System.out.println("正在验证账号信息");
}
}
// 事务方法
package com.xiao.dao.daoImp;
import org.aspectj.lang.ProceedingJoinPoint;
public class Transmaction {
public void beginTransmaction(){
System.out.println("开始事物");
}
public void closeTransmaction(){
System.out.println("结束事物");
}
}
4.加一个日志Log
package com.xiao.dao.daoImp;
public class Log {
public void write(){
System.out.println("write log 。。。");
}
}
这以上的内容是前面的,使用代理类主要以下代码
5.对Log、Transmaction、AdminCheck分别创建代理类
5.1 AdminCheckInterceptor
package com.xiao.incepter;
impor