springboot問題
-
前端thymeleaf,使用jar包模式運作後找不到頁面
解決方法: 代碼中所有直接傳回String進行頁面跳轉的改為使用ModelAndView
-
內建shiro之後自定義Realm中注入的service事務,緩存失效
解決方法:在注入的service上增加@Lazy注解,
原理請參考此部落格 -
spring事件機制使用service繼承ApplicationListener的方式處理事務導緻項目啟動報錯
The bean 'xxx' could not be injected as a 'xxxx' because it is a JDK dynamic proxy that implements: org.springframework.context.ApplicationListener
有的人說需要在配置檔案中增加spring.aop.proxy-target-class=true此配置,但是經嘗試無法解決.
解決方法:使用注解的方式來監聽事件,例如:
@EventListener
public void listenInformEvent(InformEvent informEvent) {}
-
springboot啟動tomcat臨時目錄随機,導緻上傳檔案的功能不能正常使用
解決方法:增加配置手動指定docBase,
出處
5. springboot上傳本地圖檔不能及時展示(不用上面的方式存儲檔案),重新整理頁面後正常展示
解決方法:
1.存儲檔案時使用不加"/"的檔案名例如"upload/test.jpg"
2.在WebMvcConfigurer中配置目錄對應關系registry.addResourceHandler("/upload/**").addResourceLocations("file:upload/")
問題原因: 靜态檔案是在項目啟動時加載的,不重新請求不會加載,參考:
stackoverflow中VK321這位大哥的回複thymeleaf問題
1.内聯文法導緻的頁面報錯,内聯文法格式: [[...]]或[(...)]
解決方法:如頁面js有多元數組會導緻thymeleaf解析錯誤
解決方案:<script type="text/javascript" th:inline="none">新增紅色字型内容,來禁用内聯表達式
2.js裡中文變unicode編碼
問題描述:從背景傳入的中文在js中通過[[...]]來取值會顯示unicode編碼
解決方法::使用[(...)]來取值,但是需要手動增加引号
說明:[[...]]等價于th:text(即結果将被HTML轉義),[(...)]等價于th:utext,不會執⾏任何HTML轉義。