首先:
部門與組織是manytoone和onetomany的關係,並且兩張表都有自關聯,查詢部門資訊時會級聯查詢上級部門以及他的組織結構,然後返回json資料時,會出現$ref
即:
為了攻破它,在兩張表的onetomany那方,也就是set的那方,加乙個fastjson的註解@jsonfield(serialize = false)
即:
由於我組織結構那裡有多個onetomany,所以我都加上了:
然後在controller裡面有兩種寫法:
一:在方法前面加 @responsebody,再直接返回乙個物件
/**
* 部門資訊列表展示
然後在配置檔案裡配置:
在使用spring注入時,我們將類資訊注入到com.alibaba.fastjson.support.spring.fastjsonhttpmessageconverter
這個類中。
在原始碼中可以看到:
我們使用@responsebody這個註解時,會自動呼叫json.tojsonstring(obj,features)這個方法,裡面會帶上我們在spring裡面配置的屬性。
附一種不好的程式設計習慣:
在加了@responsebody註解的controller中使用
string result = json.tojsonstring(obj);
return result;
json.tojsonstring() 這句話執行了兩次。
方案二:不用配置檔案,直接轉serializerfeature.disablecircularreferencedetect
即:
/**
* 部門資訊列表展示
然後ajaxjson方法是:
@controller
public
class
basecontroller
catch (ioexception e)
return
null;
}
解決sqoop中出現的某些問題
我本人用導sqoop去匯入mysql資料並存到hdfs上,安裝過程中 使用這篇部落格來進行安裝,解決方法也很簡單 把sqoop bin configure sqoop裡面的如下兩段內容注釋掉就可以了。指令如下 sqoop import connect jdbc mysql username root...
解決web中出現大量TIME WAIT問題
新增的一組apache伺服器上線以來,我用netstat an命令發現伺服器中有大量狀態為time wait的tcp連線,於是用 sbin sysctl a檢視了一下linux的各項核心引數,並翻閱有關資料,決定修改其中的兩項引數,以達到減少tcp連線中time wait sockets的目的。vi...
解決web中出現大量TIME WAIT問題
新增的一組apache伺服器上線以來,我用netstat an命令發現伺服器中有大量狀態為time wait的tcp連線,於是用 sbin sysctl a檢視了一下linux的各項核心引數,並翻閱有關資料,決定修改其中的兩項引數,以達到減少tcp連線中time wait sockets的目的。vi...