`

spring处理业务示例(源码)

阅读更多

用spring写的一个模仿"手机充值+查话费+销户"的一个小例子,供spring入门者参考. 

三层结构:

表现层(view) +业务层(business)+数据访问层(dao)

首先定义业务层的接口:

IService.java

 

package business;

import po.cardPO;
import po.phonePO;

public interface IService ...{
    
//查询余额
    public double queryBalance(phonePO phone);
    
//充值
    public boolean addMoney(phonePO phone,cardPO card);
    
//销户
    public boolean delAccount(phonePO phone);
    
//判断是否是合法用户
    public boolean isUser(phonePO phone);
}

 

定义dao层的接口:

IMobileDAO.java

 

package dao;

import po.cardPO;
import po.phonePO;

public interface IMobileDAO ...{
    
//判断是不是合法手机用户
    public boolean isPhoneExist(phonePO phone);
    
//判断充值卡是否有效
    public boolean isCardExist(cardPO card);
    
//充值
    public boolean addMoney(phonePO phone);
    
//查询余额
    public double queryBalance(phonePO phone);
    
//查询充值卡金额
    public double queryCardMoney(cardPO card);
    
//销户
    public boolean delAccount(phonePO phone);
}

 

两个po对象:

phonePO.java 手机信息:

 

package po;

public class phonePO ...{
    
//手机号
    private String phonenb;
    
//手机密码
    private String password;
    
//话费
    private double money;
    
//状态标志  o表示已注销,1表示正常使用
    private int flag;
    
    
    
public int getFlag() ...{
        
return flag;
    }

    
public void setFlag(int flag) ...{
        
this.flag = flag;
    }

    
public double getMoney() ...{
        
return money;
    }

    
public void setMoney(double money) ...{
        
this.money = money;
    }

    
public String getPassword() ...{
        
return password;
    }

    
public void setPassword(String password) ...{
        
this.password = password;
    }

    
public String getPhonenb() ...{
        
return phonenb;
    }

    
public void setPhonenb(String phonenb) ...{
        
this.phonenb = phonenb;
    }

}

 

cardPO.java 充值卡信息:

 

package po;

public class cardPO ...{
    
//充值卡密码
    private String password;
    
//充值卡金额
    private double money;
    
public double getMoney() ...{
        
return money;
    }

    
public void setMoney(double money) ...{
        
this.money = money;
    }

    
public String getPassword() ...{
        
return password;
    }

    
public void setPassword(String password) ...{
        
this.password = password;
    }

}

 

实现两个接口:

业务层:ServiceImp.java

 

package business;

import dao.IMobileDAO;
import po.cardPO;
import po.phonePO;

public class ServiceImp implements IService ...{
    
private IMobileDAO mobile;
    
public boolean addMoney(phonePO phone, cardPO card) ...{
        
boolean isok=false;
        
if(mobile.isPhoneExist(phone) && mobile.isCardExist(card))...{
            phone.setMoney(getMobile().queryBalance(phone)
+getMobile().queryCardMoney(card));
            isok
=getMobile().addMoney(phone);
        }

        
return isok;
    }


    
public boolean delAccount(phonePO phone) ...{
        
boolean isok=false;
        
if(mobile.isPhoneExist(phone))...{
            isok
=getMobile().delAccount(phone);
        }

        
return isok;
    }


    
public double queryBalance(phonePO phone) ...{
        
double money=0;
        
if(mobile.isPhoneExist(phone))...{
            money
=getMobile().queryBalance(phone);
        }

        
return money;
    }


    
public IMobileDAO getMobile() ...{
        
return mobile;
    }


    
public void setMobile(IMobileDAO mobile) ...{
        
this.mobile = mobile;
    }


    
public boolean isUser(phonePO phone) ...{
        
        
return getMobile().isPhoneExist(phone);
    }

}

 

dao层:MobileDAO.java

 

package dao;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.sql.DataSource;
import po.cardPO;
import p
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics