国家电力项目_第五天5_第1页
国家电力项目_第五天5_第2页
国家电力项目_第五天5_第3页
国家电力项目_第五天5_第4页
国家电力项目_第五天5_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、接口实现及配置在本示例中,接口实现代码 90%都是使用代码生成工具生成的,只有针对那些在接口中添加新的方法的接口实现,才需要写代码,另外一些需要作特殊业务逻辑判断的代码,也需要在生成后添加上去。下面是IBlogService 的实现代码:package com.easyjf.simplog.service.impl;import import importimportjava.util.List; com.easyjf.simp com.easyjf.simpcom.easyjf.simplog.log.IBlog;.Blog;log.service.IBlogService;publiccl

2、ass BlogServiceImpl implements IBlogService private IBlogblog;publicadminLogin(String name, String password) Blog blog = getBlog();if (name.equals(blog.getAuthor()& password.equals(blog.getPassword()return true; return false;public Blog getBlog() Blog blog = List list =if (list =null;blog.find( 1=1

3、,null | list.size() nullnull, -1,1) -1);blog = new Blog(); blog.setTitle(简单Blog); blog.setAuthor(admin); blog.setPassword(admin); blog.save(blog); elseblog = (Blog) list.get(0);return blog;public void setBlog(IBlogblog) this.blog= blog;publicupdateBlog(Blog blog) blog.update(blog);return true;在BlogS

4、erviceImpl 中,直接通过 IBlog来数据对象。在 getBlog 方法中首先通过blog的find 方法从持久层查找一个Blog 对象,如果没有找到,则表示系统还没有初始化Blog,这里需要创建一个Blog 实例,并把他持久化起来。下面的代码实际上是实现往数据库中添加一个Blog 信息:blog = new Blog(); blog.setTitle(简单Blog); blog.setAuthor(admin);blog.setPassword(admin);blog.save(blog);由于这是一个单用户的Blog,因此同一个Blog 实例。任何时候只要通过调用getBlog

5、方法,都会得到adminLogin 方法中通过把传入的用户名及参数与系统中Blog 对象的author 及password 对照,如果两者相等则返回true 表示用户登录验证通过,否则返回false 表示管理员登录验证失败。updateBlog 只是简单的调用blog的update 方法把传入的blog 参数持久化起来而已。为了在系统中使用IBlogService 这个业务组件需要在容器中进行配置,如下所示 :property name=blog ref=blog/下面再看一个ICommetService 接口的实现代码,CommentServiceImpl 中的内容如下所示:package

6、com.easyjf.simplog.service.impl;importimportjava.io.Serializable;java.util.List;import import import import import import importimportcom.easyjf.core.support.query.IQueryObject; com.easyjf.core.support.query.QueryUtil;com.easyjf.web.tools.IPageList;com.easyjf.simp com.easyjf.sim com.easyjf.simp com.

7、easyjf.simplcom.easyjf.slment; ment;ment;mentService;lment;/* CommentServiceImplauthor EasyJWeb 1.0-m2$Id: CommentServiceImpl.java,v 0.0.1 2008-1-15 9:40:18 EasyJWeb 1.0-m2 Exp $*/public class CommentServiceImpl implements ICommentServiceprivate ICommentcomment;public voidment(ICommentcomment)ment;p

8、ublic Longment(Comment comment) .save(comment);mentif (comment != null & comment.getId() != null) return comment.getId();return null;public Comment Comment comment return comment;ment(Long id)ment=.get(id);publicment(Long id) Comment comment =if (comment != null) ment(id);mentreturn true;.remove(id)

9、;return false;publicments(ListcommentIds)for (Serializable id: commentIds) ment(Long) id);return true;public IPageListmentBy(IQueryObject queryObject) return QueryUtil.query(queryObject,Commment);publicif (id != null) ment(Long id, Comment comment) comment.setId(id); else return false;mentreturn tru

10、e;.update(comment);public IPageListmentBy(IQueryObjectqueryObject)return QueryUtil.query(queryObject,mment);public IPageListmentBy(IQueryObjectqueryObject)return QueryUtil.query(queryObject,mment);CommentServiceImpl 中除了最后的mentBy 及mentBy 两个方接口中的相关方法实现以外,其它的实现代码都是通过工具生成的。直接调用 commentmentBy 用来查询系统中法来实现

11、对评论的添加、修改、删除、查询等操作。评论,该方法直接调用QueryUtil.query 方法,在第二个中使用参数为ment.class 表示要查询类型为ment 的实体,mentBy 方法中的代码与mentBy 类似。IQueryObject 是一个查询封装对象,包含了分页、排序、查询条件等信息,可以定制各种各性化的查询,具体可以参考EasyJWeb 的文档,当然也可以根据自己的喜爱书写自已的业务逻辑层实现代码。下面再列出UserSeriveImpl 中在生成的实现基础上修改过的代码,一个是 login方法的实现,另外一个是 delUser 方法。内容如下:public claprivate

12、serServiceImpl implements IUserService IUseruser;publicdelUser(Long id) User user = getUser(id);ments().size()0)throwthrowLongeiwcException(用户已if(经了评论,不能直接删除!);if (user != null) user.remove(id);return true;return false;public User login(String userName, String password) User user = user.getBy(name,

13、userName);if (user != null)if (password.equals(user.getPassword()user.setLastLogime(newneDwate();user.setLogimes(user.getLogimes()+1);this.updateUser(user.getId(),user);return user;return null;在删除用户的时候,首先看该用户是否已经了评论,如果了评论则不能直接删除,此时直接抛出一个逻辑错误给调用者,下面的代码实现该功能:if(ments().size()0)throwthrowLongeiwcExcept

14、ion(用户已经发表了评论,不能直接删除!);UserServiceImpl 中用户登录验证的代码实现也非常简单,首先根据userName 参数从持久层查找到该用户名对应的User 对象,如果找到则表示用户名正确,进一步判断是否正确,如果正确则表示验证通过,重新设置用户上一次登录时间,并把用户的登录次数加 1,调用 updateUser 保存修改后的用户信息(在 EJS 构架中可以不用调用 updateUser 方法),然后返回这个用户。如果用户登录验证失败,则直接返回null。所有的业务组件都需要在容器中进行配置,注入相应的属性,才能正常工作。本系统中的涉及到的所有业务组件的配置文件,都是使

15、用代码生成工具自动生成,位于service.xml 文件中,内容如下:bean id=albumServiceclass=com.easyjf.simpproperty name=albumlog.service.impl.AlbumServiceImpl ref=album/property name=albumCategoryclass=com.easyjf.simplog.service.impl.BlogServiceImplproperty name=blogref=blog/property name=commentproperty name=link ref=linkclass=com.easyjf.simpprope

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论