BeanUtils提供對Java反射和自省API的包裝。其主要目的是利用反射機制對JavaBean的屬性進行處理。我們知道,一個JavaBean通常包含了大量的屬性,很多情況下,對JavaBean的處理導致大量get/set代碼堆積,增加了代碼長度和閱讀代碼的難度。
二、用法:
如果你有兩個具有很多相同屬性的JavaBean,我們對一個對象copy 到另外一個對象,可用用下面的方法。
1. 導入commons-beanutils.jar
2. 導入commons-logging-1.1.jar
3. 構建UserManageVo , UserManageEvent 對象 ,這兩個對象的屬性相同
4. 調用 BeanUtils.copyProperties(UserManageVo, UserManageEvent)
java 主要代碼
1
import java.lang.reflect.InvocationTargetException;
2
import org.apache.commons.beanutils.BeanUtils;
3
import test.BasicEvent;
4
import test.UserManageEvent;
5
import test.UserManageVo;
6
7
public class TestCase {
8
9
public static void main(String[] args) {
10
UserManageEvent event = new UserManageEvent();
11
event.setName("zhangsan");
12
event.setUserId("1");
13
14
BasicEvent basicEvt = new BasicEvent();
15
basicEvt.setEventId("2");
16
basicEvt.setVersion("version");
17
18
event.setEvent(basicEvt);
19
UserManageVo vo = new UserManageVo();
20
try {
21
BeanUtils.copyProperties(vo, event);
22
System.out.println(vo.getUserId());
23
System.out.println(vo.getName());
24
System.out.println(vo.getEvent());
25
} catch (IllegalAccessException e) {
26
e.printStackTrace();
27
} catch (InvocationTargetException e) {
28
e.printStackTrace();
29
}
30
}
31
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

java代碼:
/Files/yjlongfei/test.rar