shop--5.使用Junit进行验证
Posted windbag7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shop--5.使用Junit进行验证相关的知识,希望对你有一定的参考价值。
总体思想
1. DAO层:
主要任务:做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。
DAO层的设计:首先是设计DAO层的接口,然后再Spring的配置文件中定义此接口的实现类,然后就可以在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪一个,显得结构非常清晰。DAO设计的总体规划需要和设计的表,和实现类之间一一对应。
DAO层所定义的接口里的方法,主要是增添改查,以及一些自定义的特殊的对数据库访问的方法。
配置:DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。
2. Service层
主要任务:负责业务模块的逻辑应用设计
Service层的设计:首先设计接口,再设计实现的类,接着在Spring的配置文件中配置起实现的关联。
优点:封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。
3. Controller层
主要任务:负责具体的业务模块流程的控制,在此层里要调用Service层的接口来控制业务流程。
配置:控制的配置也同样在Spring的配置文件中。
具体实现:针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使得成句结构变得清晰,也大大减少了代码量。
——————————————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————————————
1.验证dao层
1)创建AreaDao的接口(里面写各种方法 即是对数据的增删改查)
public interface AreaDao { /** * @return areaList * 列出区域列表 */ List<Area> queryArea(); }
2)创建AreaDao.xml(在mapper下建,里面写的都是sql语句,关联数据库,是对数据进行实际的操作)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ryanxu.o2o.dao.AreaDao"> <select id="queryArea" resultType="com.ryanxu.o2o.entity.Area"> SELECT area_id, area_name, priority, create_time, last_edit_time FROM tb_area ORDER BY priority DESC </select> </mapper>
3)在test/java/com/ryanxu/o2o下建立BaseTest类(配置Spring和Junit整合,Junit启动时加载springIOC容器)
/** * 配置spring和junit整合,junit启动时加载springIOC容器 * */ //整合起来的类 @RunWith(SpringJUnit4ClassRunner.class) //告诉junit spring配置文件的位置 就是src/main/resources/spring @ContextConfiguration({"classpath:spring/spring-dao.xml","classpath:spring/spring-service.xml"}) public class BaseTest { }
4)创建AreaDaoTest类 继承BaseTest类
public class AreaDaoTest extends BaseTest{ @Autowired private AreaDao areaDao; @Test public void testQueryArea() { List<Area> areaList = areaDao.queryArea(); assertEquals(2, areaList.size()); } }
验证Service层
1)创建AreaService接口
public interface AreaService { List<Area> getAreaList(); }
2)service的实现类 AreaServiceImpl
@Service public class AreaServiceImpl implements AreaService{ @Autowired private AreaDao areaDao; @Override public List<Area> getAreaList() { return areaDao.queryArea(); } }
3)AreaServiceTest
public class AreaServiceTest extends BaseTest{ @Autowired private AreaService areaService; @Test public void testGetAreaList() { List<Area> areaList = areaService.getAreaList(); assertEquals("北区", areaList.get(0).getAreaName()); } }
验证Controller层
1)在web.superadmin下创建AreaController类
@Controller @RequestMapping("/superadmin") public class AreaController { @Autowired private AreaService areaService; @RequestMapping(value = "/listarea",method = RequestMethod.GET) //将返回对象自动转换为json对象给前端 @ResponseBody private Map<String, Object> listArea(){ Map<String, Object> modelMap = new HashMap<String,Object>(); List<Area> list = new ArrayList<Area>(); try { list = areaService.getAreaList(); modelMap.put("rows", list); modelMap.put("total", list.size()); }catch (Exception e) { e.printStackTrace(); modelMap.put("success", false); modelMap.put("errMsg", e.toString()); } return modelMap; } }
2)使用postman 获取json数据
下面附上postman的下载链接
链接: https://pan.baidu.com/s/1wkUG_UtFvuLyVky4y4inaQ 密码: rsty
以上是关于shop--5.使用Junit进行验证的主要内容,如果未能解决你的问题,请参考以下文章