stockprocessservicespringimpl2.java

来自「加拿大达内科技有限公司配需java程序员的上课时的代码」· Java 代码 · 共 70 行

JAVA
70
字号
package service.spring;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import service.StockException;
import service.StockProcessService;
import dao.AccountDAO;
import dao.StockDAO;
import domain.Account;
import domain.Stock;


public class StockProcessServiceSpringImpl2 implements StockProcessService{
	private AccountDAO accountDAO;
	private StockDAO stockDAO;
	public void setAccountDAO(AccountDAO accountDAO) {
		this.accountDAO = accountDAO;
	}

	public void setStockDAO(StockDAO stockDAO) {
		this.stockDAO = stockDAO;
	}
	
	@Transactional(propagation=Propagation.REQUIRED,rollbackFor=StockException.class)
	public void buyStock(String accountName, String stockName, double amt) throws StockException{
		// TODO Auto-generated method stub
		Account a = accountDAO.findByName(accountName);
		a.setBalance(a.getBalance() - amt);
		accountDAO.save(a);
		if(1==1)
			throw new StockException();
		Stock s = stockDAO.findByName(stockName);
		s.setQty(s.getQty() + amt/10);
		stockDAO.save(s);
		}

	@Transactional(propagation=Propagation.REQUIRED,readOnly=true)
	public double getBalance(String name) {
		// TODO Auto-generated method stub
		Account a = accountDAO.findByName(name);
		return a.getBalance();
	}

	@Transactional(propagation=Propagation.REQUIRED,readOnly=true)
	public double getQty(String name) {
		// TODO Auto-generated method stub
		Stock s = stockDAO.findByName(name);
		return s.getQty();
	}

	@Transactional(propagation=Propagation.REQUIRED)
	public void openAccount(String name, double amt) {
		// TODO Auto-generated method stub
		Account a = new Account();
		a.setName(name);
		a.setBalance(amt);
		accountDAO.save(a);
	}

	@Transactional(propagation=Propagation.REQUIRED)
	public void openStock(String name) {
		// TODO Auto-generated method stub
		Stock s = new Stock();
		s.setName(name);
		stockDAO.save(s);
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?