zoukankan      html  css  js  c++  java
  • SSH框架学习开发第一个集合项目经验02

    拿一个单元测试来替代网页中具体调用

     1 package com.sisi.registration_service;
     2 
     3 import org.junit.Assert;
     4 import org.junit.Test;
     5 /*这个项目的工作流程就是client调用userManager通过定义来实现接口的实现,可以用不同的
     6  *userManagerImpl来实现它的接口,然后调用具体服务层实现类中的函数进行数据的增删改查,
     7  *但是在实现类中又是调用的DAO层的接口,然后具体的DAOImpl去实现服务层实现类的增删改查,
     8  *然后DAOImpl中又是调用了hibernate来实现的数据库的增删改查
     9  * */
    10 import com.sisi.registration.model.User1;
    11 import com.sisi.registration.service.UserManager;
    12 import com.sisi.registration.service.impl.UserManagerImpl;
    13 
    14 public class UserManagerTest {
    15 
    16     @Test
    17     public void testExists() throws Exception{
    18         UserManager um = new UserManagerImpl();
    19         User1 u = new User1();
    20         u.setUsername("a");
    21         boolean exists = um.exists(u);
    22         Assert.assertEquals(true, exists);
    23     }
    24     
    25     @Test
    26     public void testAdd() throws Exception{
    27         UserManager um = new UserManagerImpl();
    28         User1 u = new User1();
    29         u.setUsername("b");
    30         u.setPassword("b");
    31         boolean exists = um.exists(u);
    32         if(!exists){
    33             um.add(u);
    34             u.setUsername("b");
    35             Assert.assertEquals(true, um.exists(u));
    36         }
    37         else{
    38             Assert.fail("Not add!");
    39         }
    40         
    41     }
    42 }

    这里面就包含了我自己对目前做到第二遍的注册功能的理解。

    目前总的层次可分为:

    client     jsp      usermanager      usermanagerimpl        User      userDao     userDaoimpl       DB     

         jsp为表现层次            service为逻辑层                                          数据库存取层

    关于service层的作用简述:有时候会产生疑问,为什么多此一举写一个service层,只是调用了相同功能的函数像是exists调用了checkUserExistsWithName,当初最夸张的是后面函数就是直接从前边的拷贝过去的,这样不是多此一举,没有这个层次也一样。但是要想到其实这个服务层中可能同时调用多个dao来实现一个功能,那么它就是不可取代的。

    快捷键

    快速引入=ctrl+shift+o

    快速构建get set函数=shift+alt+s

  • 相关阅读:
    QPS 与 TPS 简介
    程序员需要学多门语言吗
    Docker 常用命令
    Dockerfile
    Docker-安装与部署
    Docker 容器相关技术
    java多线程 线程八锁
    java多线程 生产者消费者案例-虚假唤醒
    ConcurrentHashMap
    原子变量与CAS算法
  • 原文地址:https://www.cnblogs.com/sisi-job/p/6636990.html
Copyright © 2011-2022 走看看