发表于: 2017-04-25 22:59:25

2 1496


Task1的第四天


今日计划

  1. 1. 看spring,完成dao层的Impl
  2. 2. 完成dao层的测试

今日完成

要断电了,不过总算赶出来了,住在学校寝室真不方便。今天日报形式改变,只报告内容,不写理解了。

完成外门弟子报名

报名,加群,进禅道。

不过没时间了,没怎么看禅道,明天看吧。

spring的配置

spring主流使用方式有两种,注解+自动扫描和显示xml配置,我没记错的话注解这种方式是在spring2.5后添加的,好像注解的方式用的更多点。

先建一个spring的配置类

新建一个包用于存放config,然后新建一个config类,完成后项目结构如下: 添加config后

编写JNShuConfig.java的代码:

package com.semonx.jnshu.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan(basePackages = {"com.semonx.jnshu.dao"})
public class JNShuConfig {
}

然后为Impl添加注解,将其声明为一个组件:

package com.semonx.jnshu.dao.impl;
import com.semonx.jnshu.dao.StudentDao;
import org.springframework.stereotype.Component;

@Component
public class StudentDaoImpl implements StudentDao {
   ...
}

@Component可以将一个类声明为组件。

新建测试类,目录结构如下:

测试类目录结构

编写测试类的代码:

package com.semonx.jnshu.dao.impl;

import com.semonx.jnshu.bean.StudentBean;
import com.semonx.jnshu.config.JNShuConfig;
import com.semonx.jnshu.dao.StudentDao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import static org.junit.Assert.*;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = JNShuConfig.class)
public class StudentDaoImplTest {
   @Autowired
   private StudentDao dao;

   @Test
   public void testGetStudentByQq() {
       StudentBean bean = dao.getStudentByQq("15044774753");

       assertEquals("杜小八", bean.getName());
       assertEquals("1490", bean.getOnline_id());
   }
}

时间有限,这里就只对通过qq查询学生这一个方法进行了测试,测试并不完善,下一步准备将断言中的对象改为bean对象。

明日计划

继续spring的学习,再看一下单元测试的规范。这几天时间不多,没法做太多的工作。

问题总结

  1. 1. 时间太少,白天上班,晚上寝室断电,基本没什么时间。再等几天,5.1之后时间上能有很大改善,这几天进度会慢点。
  2. 2. IDEA提示atuowire错误,实际运行却没有错误。百度了一下,好像是IDEA的和spring有关的设置的问题。今天没时间了未解决。错误截图如下:

autowire提示错误



返回列表 返回列表
评论

    分享到