天天看點

BeanMapping釋出1.0.2版本背景版本變更内容

  beanmapping是什麼? 請檢視我之前的一篇文章:  我也造了個輪子:beanmapping(屬性拷貝) 

  convetor包名重構,拼寫錯誤

  scriptexecutor接口重構,加上scriptcontext操作

  filedsetexecutor去除對args的強制比對依賴

  mapping支援name定義

  mapping支援嵌套映射/集合映射對象的name定義

  增加nullsymbolgetexecutor的實作,支援無源屬性的映射

相比于 beanmapping釋出1.0.1版本,主要增加的兩個特性:

可以解決的需求:

map<->map之間可以有不同的映射規則,服務化接口用map這樣弱類型的情況會比較多. 

嵌套映射,集合映射都可以指定特定的映射規則,改變原先的預設按照class類型查找的方式

testcase :  https://raw.github.com/agapple/mapping4java/master/src/test/java/com/agapple/mapping/beanmappingnestandnametest.java

在嵌套映射時,在子映射時需要通路parent映射時的script context,不同映射時又需要保持隔離。簡單點說:就是在一個映射過程,包括嵌套的遞歸映射都可以共享一個script context,通過el表達式可以正确通路

強制設定目标的某屬性為null

源屬性不存在,針對目标對象的屬性進行指派操作。 比如給目标屬性設定初始預設值

testcase: 

後續計劃:

支援object factory模式,允許自己控制嵌套對象的建立過程,目前預設是系統通過構造函數進行newinstance.

fel script實作支援 (http://www.iteye.com/news/24711-fel-java-script)

目前在阿裡公司内部正在逐漸使用,也歡迎大家試用和給我提需求,可以非常友善的替換原先的beanutils,性能上也會有一定的驚喜。