发表于: 2017-07-02 21:20:36

1 1137


【说明 】jar包找不到整的我想扑街

一:今日完成

萝卜多的本地环境搭建

先说说目录结构和代码的联系和区别:

core 包里面 的 carrots.sixgod.service 是所有表的 service 接口

比如 ArticleService 接口 继承 BaseDaoService

方法有:

public Long insert(Article article) throws ServiceException, ServiceDaoException;插入单个素材

public List<Article> insertList(List<Article> articleList) throws ServiceException, ServiceDaoExcep插入素材列表

public boolean delete(Long id) throws ServiceException, ServiceDaoException;根据id删除

public boolean update(Article article) throws ServiceException, ServiceDaoException;更新单个素材

public boolean updateList(List<Article> articleList) throws ServiceException, ServiceDaoException;更新素材列表

public Article getObjectById(Long id) throws ServiceException, ServiceDaoException;根据id得到单个素材对象

public List<Article> getObjectsByIds(List<Long> ids) throws ServiceException, ServiceDaoException;根据id得到素材列表对象

除此之外还有:

public List<Long> getArticleIds(Integer start, Integer limit) throws ServiceException, ServiceDaoException;根据start  limit 得到素材ID列表

public Integer countArticleIds() throws ServiceException, ServiceDaoException; 获得素材列表的id数量

Object getObjectByDynamicCondition(Class clz, Map<String, Object> conditions, Integer start, Integer limit)

throws ServiceException, ServiceDaoException;根据动态条件(Class,Map对象表,start,limit)得到泛型对象

然后发现点击方法实现的时候有两个候选项:

1,一个是core包下面的 sca.carrots.sixgod.client 的ArticleSCAClient  implements ArticleService

private ArticleService articleService;

public ArticleService getArticleService() {

return articleService;

}

public void setArticleService(ArticleService articleService) {

this.articleService = articleService;

}

@Override

public Long insert(Article article) throws ServiceException, ServiceDaoException {

return articleService.insert(article);//重点是这个,只是将上面接口中方法重写一遍,并且只是 return 调用接口中的方法

}

2,一个service 包下面的 com.ptteng.carrots.sixgod.service.impl.ArticleServiceImpl 

除了实现上面提到的接口之外,有一个没有实现,就是 getObjectByDynamicCondition 得到动态对象

详细说一下里面的一个方法 Long insert(Article article)

log.info(" insert data : " + article); 打日志,输出入参

if (article == null) { 判空

return null;

}

long currentTimeMillis = System.currentTimeMillis();得到当前系统时间

article.setCreateAt(currentTimeMillis);

article.setUpdateAt(currentTimeMillis);设置创建时间和更新时间(因为这是插入)

Long result = null; Long 类型的返回参数,为空

try {

result = (Long) dao.save(article);调用dao层的save方法,这个save方法是jar包的形式提供的

} catch (DaoException e) {可能的异常

log.error(" insert wrong : " + article);打日志,输出入参

log.error(e);堆栈信息到log日志文件里面

e.printStackTrace();控制台输出异常信息

throw new ServiceDaoException(e);抛出异常对象

}

log.info(" insert data success : " + result);如果插入成功,日志记录结果

return result;返回结果

}

有疑问的一点是这个类实现了 ArticleService 但是这个ArticleService默认追踪到 ArticleSCAClient,然后ArticleSCAClient 实现了

ArticleService,但是这个ArticleService也是追踪到了 ArticleSCAClient,,那真正的ArticleService反而是没有出现,我想是因为ArticleSCAClient 中的 getArticleService 和setArticleService方法。

最后,再来看一下 之前没有实现的 动态方法 getObjectByDynamicCondition

return this.articleService.getObjectByDynamicCondition(clz, conditions, start, limit); 只有这一个实现,方法是jar包提供的

测试失败

先是尝试 新建 ArticleSCAClient 然后调用方法,不行,ArticleSCAClient 只是暴露服务接口,没有实现方法

然后尝试 新建 ArticleService ,然后测试,不行,因为 ArticleService 是抽象类,没有实现

然后尝试 新建 ArticleServiceImpl ,结果idea 提示,不能在core 导入 service 的类,才发现ArticleServiceImpl 的另一个模块下面的类

三:疑难问题

㈠ BUG1

㈡ BUG2


㈢ BUG3

 

我运行了好几次了,最开始以为是jar版本不对,改了没有报错,谁知道运行的时候红线条一直出来,一会跑admin 一会跑home,然后我就不停的重启项目,,

项目没问题,如果你jar包齐全的话不会出错,出问题就是jar少了


 上面的BUG解决办法是 这样的 

对,就是jar包少了

------------------

四:思考总结

Ⅰ 对自己今天的进度满意吗

------------------一般般

Ⅱ 那些困扰自己的问题所在

------------------呵呵哒的  offline

Ⅲ 暗示自己为明天加油打劲

------------------仔细想了想,在这一行需要一个目标或者梦想,那么 我的梦想是 “黑客与画家”背后所代表的东西



返回列表 返回列表
评论

    分享到