java獲取運行時動態(tài)生成的類對象

前言

工作中遇到一個問題,通過mybatis自動生成的代碼,mybatisgenerator會生成entity,我需要獲取entity的字段,雖然entity文件已經(jīng)生成在磁盤中了,但是我通過反射怎么都獲取不到,會報classnotfoundexception

image.png

我能力有限,想不出什么解決辦法,之后我去問==ChatGPT==,它給了我一個相當準確的提示:javacompiler,然后我順著這個思路終于找到了解決辦法。

image.png

文檔地址:


https://www.liaoxuefeng.com/article/1080190250181920

文章寫得非常清除,語言也有意思,只是不懂思路也不太好搜到。

文章源碼:


鏈接:https://pan.baidu.com/s/1VY8zLm8G3ZXAkJlUD0Jz0w?pwd=wh5m

提取碼:wh5m

使用方法:


//JAVA_SOURCE_CODE就是把生成的java文件讀取成String

//例如:FileUtils.readFileToString(new File("filepath"))   

        JavaStringCompiler compiler = new JavaStringCompiler();

        Map<String, byte[]> results = compiler.compile("UserProxy.java", JAVA_SOURCE_CODE);

        Class<?> clazz = compiler.loadClass("UserProxy.java", results);

//反射可以獲取到對象后就自由發(fā)揮了

今天通過人工智能找到問題解決思路,在通過這個思路找到大神的文章解決問題,感觸頗深,這個文章做個紀念。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容