(entity bean)動態賦值值物件-- Dynamic Create Value Object 模式 (轉)
from entity baen to value dynamic create your value
object :use value object
摘要:在應用中,採用+bean++開發,如果你的業務
介面有大量的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;
}
...
}
正如你所看到的,實現動態賦值是很簡單的。我將在下一篇文章中講解主鍵產生
器模式
歡迎大家來討論。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992979/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 動態賦值弱型別值物件--Dynamic Create Value Object 模式 (轉)賦值型別物件Object模式
- 動態監控input的值的變化 賦值value觸發賦值
- 物件賦值轉換物件賦值
- java裡面給物件賦值,慎用賦值符號(=) (轉)Java物件賦值符號
- JS 獲取陣列物件的值&提取Object的valueJS陣列物件Object
- vue:動態給img賦值Vue賦值
- jquery 動態給table賦值jQuery賦值
- html select動態賦值HTML賦值
- 給物件引用變數賦值(轉)物件變數賦值
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- uniapp動態賦值頭部<title>APP賦值
- JavaScript 物件解構賦值JavaScript物件賦值
- Vue.js - 陣列和物件的賦值動態變化 & 克隆Vue.js陣列物件賦值
- JAVA 物件引用,以及物件賦值Java物件賦值
- entity bean開發中,怎麼去取sequence值呢Bean
- 賦值運算子(轉)賦值
- 遞迴遍歷物件獲取value值遞迴物件
- Struct FORM ACTION 無法解決動態賦值?StructORM賦值
- Javascript 解構賦值,將屬性/值從物件/陣列中取出,賦值給其他變數JavaScript賦值物件陣列變數
- 複製物件重新賦值不改變原物件物件賦值
- 物件屬性值賦給變數物件變數
- web中,利用反射給物件賦值Web反射物件賦值
- JavaScript 之物件拷貝與賦值JavaScript物件賦值
- echarts動態賦值結合dataZoom滑動資料Echarts賦值OOM
- SQL server 動態SQL對變數講行賦值SQLServer變數賦值
- 【c++】深賦值與淺賦值C++賦值
- 【spring原始碼系列】之【Bean的屬性賦值】Spring原始碼Bean賦值
- 將Object物件轉換成Map 屬性名和值的形式Object物件
- JDK動態代理物件與被代理物件地址值問題JDK物件
- 常被新手忽略的值賦值和引用賦值(偏redux向)賦值Redux
- 領域驅動設計戰術模式--值物件模式物件
- js基礎-20-js物件賦值時的key值問題JS物件賦值
- 變數的賦值 指標間接賦值變數賦值指標
- Verilog連續賦值、過程賦值、過程連續賦值總結賦值
- 頁面資料賦值轉換賦值
- C++物件模型之五 構造 析構 賦值筆記 (轉)C++物件模型賦值筆記
- 動態記憶體的賦值和修改(Android之JNI)記憶體賦值Android
- PHP 物件導向 (四)類物件賦值為引用傳遞PHP物件賦值