zoukankan      html  css  js  c++  java
  • Java高级架构师(一)第12节:Service的实现以及模块化

    BaseService.java

    package com.sishuok.architecture1.common.service;
    
    import java.util.List;
    
    import com.sishuok.architecture1.common.dao.BaseDAO;
    import com.sishuok.architecture1.common.vo.BaseModel;
    import com.sishuok.pageutil.Page;
    
    
    public class BaseService<M, QM extends BaseModel> implements IBaseService<M,QM> {
    	private BaseDAO dao = null;
    	public void setDAO(BaseDAO dao){
    		this.dao = dao;
    	}
    	public void create(M m) {
    		dao.create(m);
    	}
    
    	public void update(M m) {
    		dao.update(m);
    	}
    
    	public void delete(int uuid) {
    		dao.delete(uuid);
    	}
    
    	public M getByUuid(int uuid) {
    		return (M)dao.getByUuid(uuid);
    	}
    
    	public Page<M> getByConditionPage(QM qm) {
    		List<M> list = dao.getByConditionPage(qm);
    		qm.getPage().setResult(list);
    		
    		return qm.getPage();
    	}
    }
    

     IBaseService.java

    package com.sishuok.architecture1.common.service;
    
    import com.sishuok.architecture1.common.vo.BaseModel;
    import com.sishuok.pageutil.Page;
    
    
    public interface IBaseService<M,QM extends BaseModel> {
    	public void create(M m);
    	public void update(M m);
    	public void delete(int uuid);
    	
    	public M getByUuid(int uuid);
    	public Page<M> getByConditionPage(QM qm);
    }
    

    在custom模块中,ICustomerService接口:

    package com.sishuok.architecture1.customermgr.service;
    
    import com.sishuok.architecture1.common.service.IBaseService;
    import com.sishuok.architecture1.customermgr.vo.CustomerModel;
    import com.sishuok.architecture1.customermgr.vo.CustomerQueryModel;
    
    public interface ICustomerService extends IBaseService<CustomerModel, CustomerQueryModel>{
    	public CustomerModel getByCustomerId(String customerId);
    }
    

      接下来实现:

    package com.sishuok.architecture1.customermgr.service;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import com.sishuok.architecture1.common.service.BaseService;
    import com.sishuok.architecture1.customermgr.dao.CustomerDAO;
    import com.sishuok.architecture1.customermgr.vo.CustomerModel;
    import com.sishuok.architecture1.customermgr.vo.CustomerQueryModel;
    
    @Service
    @Transactional
    public class CustomerService extends BaseService<CustomerModel, CustomerQueryModel> implements ICustomerService{
    	private CustomerDAO dao = null;
    	@Autowired
    	private void setDao(CustomerDAO dao){
    		this.dao = dao;
    		super.setDAO(dao);
    	}
    	public CustomerModel getByCustomerId(String customerId) {
    		return dao.getByCustomerId(customerId);
    	}
    	
    }
    

      

  • 相关阅读:
    What is a Complex Element
    XSD(Schema)教程 [转]
    XML对WEB开发的意义
    System.Xml名称空间下的支持DOM的类型
    C#:XML操作类
    xsl:valueof select="." 什么意思?
    文档对象模型
    XSLT转换XML
    DTCMS添加栏目教程
    win8 Windows Media Player 启动后CPU占用率高(60%左右)的解决办法
  • 原文地址:https://www.cnblogs.com/sunrunzhi/p/10110560.html
Copyright © 2011-2022 走看看