AutoType调试&试验
- 可以自己写一个Junit代码试试看.
- 使用@autoType的时候,Fastjson就会自动地调用各种Getter/Setter进行初始化 ```java package Controller;
public class UserDo {
UserDo(){System.out.println("构造方法被自动调用!");}private int id;private String name;private String password;public String getName() {System.out.println("getName方法被自动调用!");return name;}public void setName(String name) {System.out.println("setName方法被自动调用!");this.name = name;}public int getId() {System.out.println("getId方法被自动调用!");return id;}public void setId(int id) {System.out.println("setId方法被自动调用!");this.id = id;}public String getPassword() {System.out.println("getPassword方法被自动调用!");return password;}public void setPassword(String password) {System.out.println("setPassword方法被自动调用!");this.password = password;}//一个拥有返回值的get方法public String getTest(){System.out.println("getTest方法被自动调用!");return null;}
}
```java@Testpublic void test(){// 第一种解法(不建议):如果注释掉此行,会报错 autoType is not support. com.alibaba.middleware.DO.UserDo// ParserConfig.getGlobalInstance().setAutoTypeSupport(true);// 第二种解法:将需要反序列化的类加白名单;ParserConfig.getGlobalInstance().addAccept("com.alibaba.middleware.DO.UserDo");String json ="{\"@type\":\"com.alibaba.middleware.DO.UserDo\",\"id\":\"123\",\"name\":\"qwertyuiop\",\"password\":\"123123\"} ";UserDo user =(UserDo) JSON.parse(json);// System.out.println(user.getName());}
参考资料

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://127.0.0.1:8000/#Export 1099
