直接進入正題。時間是2024-03-17
1.FactoryBean threw exception on object creation; nested exception is java.lang.NoClassDefFoundError:
參考了這個連結:怎麼解決java.lang.NoClassDefFoundError錯誤-CSDN部落格 一句話概括就是NoClassDefFoundError有很多原因,這裡只寫我遇到的情況。
這是我的專案情況(跟著別人做的)
出現了報錯,我就彈去了他說的測試類bug程式碼處,接而檢查了
2.Exception in thread "main" java.lang.ClassCastException: class com.itheima.cglib.UserDao cannot be cast to class com.itheima.jdk.UserDao (com.itheima.cglib.UserDao and com.itheima.jdk.UserDao are in unnamed module of loader 'app')
直接看,可以看出來說是.cglib.UserDao不能強轉給.jdk.UserDao。問題就來了,為什麼不能強轉?本來可以強轉的但是這裡的型別變了所以不能強轉了,為什麼型別變了?我們在用註解的方式來使用Aspectj的時候可能壓根就沒有給一個bean給它。
所以透過Aspectj的知識,去xml檔案裡面裡找,會發現有可能找不到id為userdo的bean。因為根本沒有,所以編譯器不知道為什麼把另一個包的bean拿過來用了。加上去就可以了。