最近在學(xué)習(xí)SSM,雖然spring,springMVC,Mybatis三個框架單獨(dú)使用沒有問題,但是看整合的方式似乎并不固定,這點(diǎn)讓我感到很迷惑,也許是我理解有問題。
我注意到不同的整合方式會用到不同的配置文件,web.xml和springMVC.xml是肯定用到了的,并且這兩個文件配置的內(nèi)容也基本相同。但是剩下的配置文件有的會用SqlMapConfig.xml和applicatonContext.xml,其中applicatonContext還會按配置的內(nèi)容分成幾個配置文件,有的則只用spring-mybatis.xml。
這兩種配置方式的區(qū)別是為了應(yīng)對不同的適用場景嗎?這兩種不同的配置方式是出于什么樣的目的呢?
web.xml 配置web相關(guān)的信息 如:監(jiān)聽、過濾器、servlet。spring mvc的servlet(spring-servlet.xml),spring的啟動文件(application.xml)。
spring-servlet.xml spring mvc的相關(guān)配置,比如controller掃描,spring mvc相關(guān)的注解類生效配置等。
application.xml spring核心配置、一般分成多個文件,因為spring需要跟各個第三方整合 如、spring-mybatis.xml spring-redis.xml spring-ecache.xml 等。
其實思路比較清晰、各個文件干自己的事情、服務(wù)于各個框架。
本質(zhì)上,web.xml 只是為了向 Tomcat 等 Server 中注入過濾器、(針對 Server 的監(jiān)聽器)等等。
而無論是 springMVC.xml 還是 applicationContext.xml,包括 spring-.xml 都屬于 Spring 的配置文件,其實怎么叫都沒關(guān)系,因為可以在 web.xml 里設(shè)定配置文件的路徑(或是直接指定文件列表)。
而 Spring 的配置文件本質(zhì)上只是在定義一堆 Bean,然后設(shè)置它們的初始化依賴或一些屬性、方法設(shè)定。
所以其實沒什么配置方式的區(qū)別,本質(zhì)上就只有 Server 的配置文件和 Spring 的配置文件還有一些第三方包所需要的配置文件(比如 ORM 的配置文件)三個東西,你要是樂意可以把所有的 Spring 配置(Spring MVC 配置、數(shù)據(jù)庫 ( dataSource、session 之類 ) 配置乃至其他東西)都放在一個巨大無比的 applicationContext.xml 里讓 Spring 去讀取。
所以回到你的問題,這完全取決于你想用什么分類形式,常見的就是 spring-模塊.xml,其中模塊包括核心 (core)、數(shù)據(jù)庫(db)等等。
第一個鏈接里的 applicationContext-XX 其實也就是 spring-XXX。
個人之見,不一定完全正確,歡迎討論,有錯誤還請指正!
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。