java技術坑

  1. spring-data-mongodb中query條件中的問題id自動轉成_id,如MongoTemplate.find有幾個重載方法,可是其中一個須要傳值domain的Class,由於不少mongo表信息都是配置到domain當中的,包括主鍵id等信息,若是當此參數爲空時,就沒法將id轉成_id
  2. 關於java list接口,Collections.emptyList和Arrays.asList都會產生一個list對象,分別對應其類中實現的內部類EmptyList和ArrayList,這兩個類實現都基本同樣都是繼承了AbstractList,但值得注意的是,因爲這兩個類都沒有具體去實現add(int index, E element)方法,所以會致使以上兩個方法的返回的對象是沒有辦法add新成員的,包括addAll也沒法使用的,皆會拋出UnsupportedOperationException。
  3. fastjson的toJSON和toJSONString雖然均可以把對象轉爲json,可是仍是有些區別的,toJSON會作一些列的類型匹配,最終轉換成JSON對象,toString時就和toJSONString差很少了,曾經犯了一個錯,在輸出日誌時,直接用了toJSON,多是由於這個對象有些特殊的地方,直接致使轉json報異常了。緣由未深究,但總得來講,他們看着很像,卻有很大差別
  4. Spring Cloud中同時使用spring cloud gateway和feign的時候,這兩個組件同時會初始化一個httpClient的bean,但兩個bean是不一樣的類同名的bean,因此致使bean同名衝突,這個時候能夠將其中一個本身從新在本身的代碼中從新定義一個新的bean的名稱便可,我是把feign中的httpclient本身初始化了一個,不過這個問題已經反饋給官方,貌似已經在新的版本中解決了,https://github.com/spring-cloud/spring-cloud-gateway/issues/1134java

相關文章
相關標籤/搜索