dozer- JavaBean對映工具
1、簡介
dozer是一種JavaBean的對映工具,類似於apache的BeanUtils。但是dozer更強大,它可以靈活的處理複雜型別之間的對映。不但可以進行簡單的屬性對映、複雜的型別對映、雙向對映、遞迴對映等,並且可以通過XML配置檔案進行靈活的配置。
2、準備
現在開始就小試一下。 首先,需要下載jar包,
dozer.jar :http://dozer.sourceforge.net/downloading.html
還需要slf4j.jar,commons-lang.jar,commons-beanutil.jar, commons-loggin.jar
3、程式碼
兩個bean
public class Book {
private String name;
private String author;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Book() {
}
}
public class BookVo {
private String namevo;
private String authorvo;
public String getNamevo() {
return namevo;
}
public void setNamevo(String namevo) {
this.namevo = namevo;
}
public String getAuthorvo() {
return authorvo;
}
public void setAuthorvo(String authorvo) {
this.authorvo = authorvo;
}
public BookVo() {
}
}
bookMapper.xml配置檔案,用來對DozerBeanMapper進行設定。
<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://dozer.sourceforge.net
http://dozer.sourceforge.net/schema/beanmapping.xsd">
<mapping>
<class-a>test.Book</class-a>
<class-b>test.BookVo</class-b>
<field>
<a>name</a>
<b>namevo</b>
</field>
<field>
<a>author</a>
<b>authorvo</b>
</field>
</mapping>
</mappings>
測試類
package test;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dozer.DozerBeanMapper;
/**
* 說明:
*
* @author fredia
* @version Aug 17, 2017
*/
public class DozerTest {
/**
* @param args
*/
public static void main(String[] args) {
testByXml();
}
public static void testByXml() {
Book book = new Book();
book.setAuthor("lsr");
book.setName("dozer demo");
DozerBeanMapper mapper = new DozerBeanMapper();
List<String> mappers = new ArrayList<String>();
mappers.add("bookMapper.xml");
mapper.setMappingFiles(mappers);
BookVo vo = new BookVo();
mapper.map(book, vo);
System.out.println("book's name:" + book.getName());
System.out.println("bookVo's name:" + vo.getNamevo());
}
}
相關文章
- 思考工具之概念對映 | Untools
- Linux下埠對映工具rinetdLinux
- Java實體對映工具MapStruct詳解JavaStruct
- 5種常見Bean對映工具的效能比對Bean
- Java實體對映工具MapStruct使用詳解JavaStruct
- 對映
- DDD設計工具:上下文對映器ContextMapperContextAPP
- 常用集中內網穿透&埠對映軟體工具內網穿透
- 多重對映
- MyBatis(四) 對映器配置(自動對映、resultMap手動對映、引數傳遞)MyBatis
- Java實體對映工具MapStruct 與BeanUtils效能比較JavaStructBean
- javaBean分析JavaBean
- [非專業翻譯] Mapster - 對映前&對映後
- Cache對映方式
- WSL 埠對映
- 09 對映(mappings)APP
- linux下簡單好用的埠對映轉發工具rinetdLinux
- Linux埠對映是什麼?如何進行埠對映?Linux
- 標準javabeanJavaBean
- 十、理解JavaBeanJavaBean
- JPA關係對映系列四:many-to-many 關聯對映
- MapStruct屬性對映Struct
- 對映本地圖片地圖
- MapStruct實體對映Struct
- VMware Fusion 埠對映
- Mybatis結果對映MyBatis
- Docker-埠對映Docker
- ElasticSearch中的對映Elasticsearch
- Nginx埠對映配置Nginx
- python 關係對映Python
- MFC訊息對映
- TypeScript 對映型別TypeScript型別
- mmap共享儲存對映(儲存I/O對映)系列詳解
- Cache與主存之間的直接對映,全相聯對映和組項聯對映以及其地址變換
- JavaBean之Builder模式JavaBeanUI模式
- Three.js進階篇之9 - 紋理對映和UV對映JS
- 對映_儲存省會
- HDR與色調對映
- 使用 MapStruct 對映列舉Struct