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,性能上也會有一定的驚喜。