日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【问题记录】eclipse启动web项目时,spring会初始化两次

發布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【问题记录】eclipse启动web项目时,spring会初始化两次 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:一個tomcat,一個eclipse,一個SSM框架的web項目。在eclipse中新建tomcat服務器,默認配置,然后在服務器配置中將Server Locations改成Use Tomcat installation并且將Deploy path換成tomcat安裝目錄下的webapps。

現象: 將web項目部署到背景中的tomcat服務器中,運行項目。然后在eclipse的控制臺中就會發現spring配置被執行了兩次。如果想看到明顯的現象,可以在項目中添加一個自啟動的bean,并在自啟動方法中向控制臺打印信息。那么你將看到這些信息被打印了兩次。也就是說,spring的bean被初始化兩次。

解決方法:
方式一:將服務器配置中Deploy path路徑webapps換一個名稱,比如wtpwebapps
方式二:勾選Server Options中的Publish module contexts to separate XML files

原因: web項目啟動時,由于

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

中的appBase中的值為webapps,tomcat加載到這里的時候,會去webapps文件夾下查找項目,并啟動找到的項目,然后tomcat發現了webapps下剛好有一個部署的項目(Deploy path設置什么目錄,項目就會部署到什么目錄),所以這是第一次啟動。接著,tomcat繼續加載配置,然后就找到了

<Context docBase="projectName" path="projectPath" reloadable="true" source="org.eclipse.jst.jee.server:ssm-config"/>

于是,tomcat根據這個配置又加載了一次項目,這是第二次加載項目,所以在控制臺可以看到兩次初始化spring。

總結

以上是生活随笔為你收集整理的【问题记录】eclipse启动web项目时,spring会初始化两次的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。