proxified在CDI 1.2還有一個方法來檢查,如果一個類實例proxified?我需要這個,因爲我需要獲取原始類的名稱,而不是代理名稱。檢查是否類與CDI 1.2
@Inject Bean bean;
public void sysout() {
// will print something like com.Bean$$Weld9239823
System.out.println(bean.getClass());
// I don't know how to check if the bean instance if a proxy or real class instance
}
使用焊接類我可以做這個工作:
public void sysout() {
// will print true because this is a proxy
System.out.println(ProxyObject.class.isAssignableFrom(bean));
// will print com.Bean
System.out.println(((TargetInstanceProxy) bean).getTargetInstance());
}
在CDI 1.1沒有方法做到這一點。我搜索裏面CDI 1.2文檔,如果加入這個方法,但我沒有發現任何東西。
所以......我想念的東西,CDI 1.2還有就是讓原來的類名和實例的方法?或者,如果沒有,有一個普通的功能添加此功能?
有什麼用例找出bean的類?考慮到你注入'豆bean'你已經知道,它實現了'Bean' – 2014-08-30 19:26:13
你有沒有試過這種解決方案? http://stackoverflow.com/a/7504552/2492784 – Sven 2014-09-09 19:38:54