发表于: 2020-09-17 23:52:38
3 1487
今天完成的:
继续写services,今天是用service和dao 写的。
测试也不再是直接在网页提交表单,而是用postman测试。
首先,controller中要加入service。
@Autowired private BookServices bookService; |
service类要加注解,并且要持有一个dao。
@Service("bookService") public class BookServicesImpl implements BookServices { @Autowired private BookDao bookDao; @Override public boolean add(Book book) { return bookDao.add(book); } } |
具体逻辑在dao层,dao层也要加注解,好像加@Repository或者@Component都行。
具体数据放在dao里的一个hashmap中。
@Repository(value = "bookDao") public class BookDao { static HashMap<String, Book> bookMap = new HashMap<>(); public boolean add(Book book) { .... } |
一、增
跟上次写的基本没有区别。
@RequestMapping(value = "/ioc/book/add") public String addBook(Book book){ if (bookService.add(book)) { // 如果添加成功,就返回成功的json return "add"; } // 失败,就返回失败的json return "addFail"; } |
dao中的具体实现。blank方法和show方法是自己写的,一个判断非空,一个打印。
public boolean add(Book book) { if (blank(book.getBid()) && blank(book.getBname()) && blank(book.getAbs()) && blank(book.getPress()) && !bookMap.containsKey(book.getBid())) { bookMap.put(book.getBid(), book); show(bookMap); return true; } return false; } |
用postman进行测试。
顺便控制台也打印了一下。
二、查
暂时没想到比上次好的方法。就先不写了。。。
三、删、更
删除和更新的思想基本和添加是一样的。
controller中的代码
@RequestMapping(value = "/ioc/book/update") public String updateBook(Book book){ if (bookService.update(book)) { // 如果添加成功,就返回成功的json return "update"; } // 失败,就返回失败的json return "updateFail"; } |
@RequestMapping(value = "/ioc/book/delete") public String deleteBook(HttpServletRequest request){ // 执行删除 String bid = request.getParameter("bid"); if (bookService.doDel(bid)) { return "delete"; } // 删除失败就返回失败的json return "deleteFail"; } |
dao中的代码
public boolean update(Book book) { if (blank(book.getBid()) && blank(book.getBname()) && blank(book.getAbs()) && blank(book.getPress()) && bookMap.containsKey(book.getBid())) { bookMap.put(book.getBid(), book); show(bookMap); return true; } return false; } |
public boolean doDel(String bid) { Set<String> ids = bookMap.keySet(); if (ids.contains(bid)) { bookMap.remove(bid); show(bookMap); return true; } return false; } |
用postman进行测试,没有问题
明天计划的:
如果还是搞不定springmvc的junit单元测试问题。。就准备先往下做了。
遇到的问题:
junit和spring怎么配合,写单元测试呢?
我自己查了一些,但都跑不通。
不知道是不是要用Mockito或者htmlunit等工具。
收获:
了解了用postman发带参数的请求。
评论