日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

發(fā)布時(shí)間:2025/7/14 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【问题记录】eclipse启动web项目时,spring会初始化两次 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

現(xiàn)象: 將web項(xiàng)目部署到背景中的tomcat服務(wù)器中,運(yùn)行項(xiàng)目。然后在eclipse的控制臺(tái)中就會(huì)發(fā)現(xiàn)spring配置被執(zhí)行了兩次。如果想看到明顯的現(xiàn)象,可以在項(xiàng)目中添加一個(gè)自啟動(dòng)的bean,并在自啟動(dòng)方法中向控制臺(tái)打印信息。那么你將看到這些信息被打印了兩次。也就是說,spring的bean被初始化兩次。

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

原因: web項(xiàng)目啟動(dòng)時(shí),由于

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

中的appBase中的值為webapps,tomcat加載到這里的時(shí)候,會(huì)去webapps文件夾下查找項(xiàng)目,并啟動(dòng)找到的項(xiàng)目,然后tomcat發(fā)現(xiàn)了webapps下剛好有一個(gè)部署的項(xiàng)目(Deploy path設(shè)置什么目錄,項(xiàng)目就會(huì)部署到什么目錄),所以這是第一次啟動(dòng)。接著,tomcat繼續(xù)加載配置,然后就找到了

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

于是,tomcat根據(jù)這個(gè)配置又加載了一次項(xiàng)目,這是第二次加載項(xiàng)目,所以在控制臺(tái)可以看到兩次初始化spring。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。