spring-springmvc-mybatis中路徑的報錯
阿新 • • 發佈:2018-12-24
BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
路徑配置問題:maven路徑和傳統開發路徑的不同
一開始的路徑配置
<!-- 載入spring的各種配置檔案 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>spring/applicationContext-*.xml</param-value>
</context-param>
改正後的路徑
<!-- 載入spring的各種配置檔案 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
原因:傳統方式下會去classes下去尋找配置中的檔案,但在maven中要新增classpath:加以指認。
順便提一下:
classpath:只會到你的class路徑中查詢找檔案。
classpath*:不僅包含class路徑,還包括jar檔案中(class路徑)進行查詢。
注意: 用classpath*:需要遍歷所有的classpath,所以載入速度是很慢的;因此,在規劃的時候,應該儘可能規劃好資原始檔所在的路徑,儘量避免使用classpath*。