天天看點

Java問題解決(持續更新,便于遷移)

一、IDEA

  • 1.1 Eclipse和Idea的不同,遇見過在Eclipse沒有報錯,但在Idea中标紅的狀況(可能是代碼檢測方面的error預設有關)

二、Java

  • 2.1 基本變量比較一般 ==,其他用equal(差別自行發現)
  • 2.2 與枚舉常量比較時,equal前放枚舉常量

三、Spring Bean注入出錯

  • 3.1 接口的注入注意事項(預設隻有一個實作類,多個時,怎麼指定?)
  • 3.2 @Resource和@Autowired的差別(為什麼有時候@Autowired是可以的,有時候為什麼出錯,Eclipse和Idea的相關差異)

四、Mysql 和 Oracle 比較

  • 4.1 命名方式,Mysql一般是下劃線分詞,全小寫。Oracle一般是下劃線分詞,全大寫。
  • 4.2 基本某些函數差異,分頁差別
  • 4.3
  • 4.4

五、Maven / Gradle

  • 5.1 run Maven 項目,但沒有更新剛修改的部分,可能是之前已經install或者打包過,這時候需要clean一下
  • 5.2 maven install 時,找不到相關Jar問題
  • 5.3 Gradle 和 Maven 的 依賴Repository(Jar)

六、Git分支切換與沖突解決問題

  • 6.1 本地分支和遠端分支的差別,以及預設的 push端
  • 6.2 最佳實踐方式,所有人在同一分支下開發,通過區分子產品不同,或者merge處理交叉、沖突部分。官網更建議的方式每個人開發在不同的子產品,通過合并pull request方式合并??還在研究階段…
  • 6.3 Idea圖示操作Git指令,比Git指令行方式更高效的那種常用操作…

七、Dao層的架構與多資料源的問題

-7.1 注意@Repository 和@NoRepository,自定義Repo的問題,以及@Mapper(Mybatis的dao與mapper.xml)

八、web伺服器部署方面(前後端)

  • 8.1 Tomcat 的webapps下,可直接放war,啟動後會自動解壓
  • 8.2 Vue項目的打包部署,webpack build 後的兩個靜态檔案,放在某個父檔案下,并放在webapps下,即可完成部署。

九、Springboot內建插件問題

  • 9.1 QueryDsl的內建插件問題
  • 9.2 Mapstruct的內建插件問題
  • 9.3 Idea下,Maven插件的必要性考慮 ?? 本身是有maven插件的

十、異常處理

十一、CI/CD(Continuous Integration, Delivery)

  • 11.1 Jenkins/Travis
  • 11.2 Docker/Kubernetes
  • 11.3 gitlab-cli

十二、Cloud服務

  • 13.1 GCP
  • 13.2 AWS
  • 13.3 Azure
  • 13.4 騰訊雲
  • 13.5 阿裡雲

    – 1.阿裡RocketMq接入

十三、SpringCloud

13.1、常見異常

springcloud無法打包問題

Failure to find org.springframework.cloud:spring-cloud-dependencies:pom:Hoxt      

解決方式,修改cloud版本即可

<properties>
        <java.version>1.8</java.version>
        <!--<spring-cloud.version>Hoxton.M3</spring-cloud.version>-->
        <spring-cloud.version>Finchley.SR2</spring-cloud.version>      

13.2、 because it is a JDK dynamic proxy that implements…

The bean ‘repo’ could not be injected as a ‘tonels.repository.basic.CustomerRepo’ because it is a JDK dynamic proxy that implements:

解決方法

因為我在不同的package或者類中,引入了同一個 dao(注解方式注入),但是起了不同的别名,後來我規範命名後,就可以正常運作了。。

13.3、Com.Fasterxml.Jackson.Databind.Exc. InvalidDefinitionException: Cannot Construct Instance Of

14、Git

14.1、Invocation failed Server returned invalid Response.

java.lang.RuntimeException: Invocation failed Server returned invalid Response.
    at org.jetbrains.git4idea.http.GitAskPassXmlRpcClient.askUsername(GitAskPassXmlRpcClient.java:50)
    at org.jetbrains.git4idea.http.GitAskPassApp.main(GitAskPassApp.java:64)
    Caused by: java.io.IOException: Server returned invalid Response.
    at org.apache.xmlrpc.LiteXmlRpcTransport.sendRequest(LiteXmlRpcTransport.java:242)
    at org.apache.xmlrpc.LiteXmlRpcTransport.sendXmlRpc(LiteXmlRpcTransport.java:90)
    at org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:72)
    at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:194)
    at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:185)
    at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)