在playframework中,它使用javassist庫讓一個類的公共字段可以用作property
。在Java中模擬'property':如何使用public field作爲屬性?
見例如:
public class User {
public String name;
}
User user = new User();
user.name = "Freewind"
System.out.println(user.name);
在編譯時間,發揮增強用Javassist字節碼,最終代碼類似於:
public class User {
private String name;
public String getName() { return this.name; };
public void setName() { this.name = name; };
}
User user = new User();
user.setName("Freewind");
System.out.println(user.getName());
你不僅可以看到現場name
具有吸和setter,而且它的調用變成了getter和setter。
我不知道是否有其他方法可以做同樣的事情(使用除javassist之外的其他東西)?
我發現Annotation Processing Tool,但我不確定它能做到這一點。
or aspectj?或者是其他東西?
您是否要求購買與javassist競爭的其他工具? – SLaks 2012-04-18 13:55:34
我想知道任何工具可以做到這一點 – Freewind 2012-04-18 13:58:21