注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

汇总技巧

你快乐我快乐.... 汇集各类技巧,传播技巧,让我们共同熟练运用技巧..

 
 
 

日志

 
 

(entitybean)动态赋值值对象--DynamicCreateValueObject模式  

2011-05-29 16:44:20|  分类: ◆ASP技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

   from entity baen to value object dynamic create your value
object :use value object摘要:在j2ee应用中,采用jsp+bean+servlet+ejb开发,如果你的业务
 接口有大量的setter/getter方法,需要重复大量的赋值语句,本
 文描述了如何动态赋值值对象。
为什么要动态赋值弱类型值对象?
 J2EE可开发中你可能需要将大量从客户端截获的数据赋值你的bean
 中,在将其传送到ejb,,以减少网络开销,每一次都要重复大量的赋
 值语句,是不是感觉到很烦,采用一种合适的策略来消除这种重复的
 工作,是改进你生产效率的途径。

如何动态赋值弱类型值对象。

 解决这个问题你需要确定使用指定的命名模式。BEAN 属性 setName() ,
 getName(),ejb在同样要匹配命名.你可以使用让他们继承同样的接口来
 实现.使用指定的命名模式后,你就可以使用简单的代码实现动态赋值了。
代码描述如下:public interface Author{
 public String getName();
 public void setName(String name);
 ....
}
实体bean的本地接口扩展业务接口
public interface AuthorLocal extends Author,EJBLocalObject {
}
实体bean本身也接口扩展业务接口
public abstract ArticleLocalBean implements Author,EntityBean { ...
}
可户使用sessionbean 获得和更新值对象。
 public Author getAuthor() {
 try {
 return new AuthorValues(AuthorLocal);
 } catch(Exception e) {
 throw new EJBException("Unable to create Value Object.
 Cause: " + e.getMessage());
 }
 } AuthorValues 实现Author接口,在构造器中实现数据赋值public class AuthorValues implements Author{  ....  public AuthorValues(Author author) throws Exception {
 Class c = this.getClass();
 String methodName = null;
 Object[] parameter = new Object[1];
 Class[] returnType = new Class[1];  Method[] methods = Author.class.getMethods();
 for (int i = 0; i  methods.length; i++) {
 if (methods[i].getName().startsWith("get")) {
 methodName = "set" + methods[i].getName().substring(3);
 returnType[0] = methods[i].getReturnType();
 Method localMethod = c.getMethod(methodName, returnType);
 parameter[0] = methods[i].invoke(artikel, new Object[] {});
 localMethod.invoke(this, parameter);
 }
}  }
 public String getName() {
 return this.name;
 }
 public void setName(String name) {
 this.name = name;
 }  ...
}
正如你所看到的,实现动态赋值是很简单的。我将在下一篇文章中讲解主键产生器模式
欢迎大家来讨论。

runze118推荐阅读:
  评论这张
 
阅读(85)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017