創(chuàng)新互聯(lián)的服務(wù)器不僅具有高穩(wěn)定性,高速訪問(wèn),而且易于管理,安全和輕松使用,以減少用戶在服務(wù)器維護(hù)中的能量和時(shí)間成本,并專注于自己的業(yè)務(wù)的開發(fā)和推廣。創(chuàng)新互聯(lián)服務(wù)器,致力于為用戶提供性價(jià)比最高的服務(wù)器!
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),神池企業(yè)網(wǎng)站建設(shè),神池品牌網(wǎng)站建設(shè),網(wǎng)站定制,神池網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,神池網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。本篇文章將大概介紹一下Spring框架的功能和模塊,具體使用請(qǐng)看推薦課程:Java教程。
Spring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來(lái)完成以
前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都 可以從Spring中受益。
Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所 需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。
控制反轉(zhuǎn)——Spring通過(guò)一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳 遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JNDI相反——不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它。
面向切面——Spring提供了面向切面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。
容器——Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。
框架——Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。
Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。
所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。
Spring框架由七個(gè)定義明確的模塊組成
如果作為一個(gè)整體,這些模塊為你提供了開發(fā)企業(yè)應(yīng)用所需的一切。但你不必將應(yīng)用完全基于Spring框架。你可以自由地挑選適合你的應(yīng) 用的模塊而忽略其余的模塊。
就像你所看到的,所有的Spring模塊都是在核心容器之上構(gòu)建的。容器定義了Bean是如何創(chuàng)建、配置和管理的——更多的Spring細(xì)節(jié)。
當(dāng)你配置你的應(yīng)用時(shí),你會(huì)潛在地使用這些類。但是作為一名開發(fā)者,你最可能對(duì)影響容器所提供的服務(wù)的其它模塊感興趣。這些模塊將 會(huì)為你提供用于構(gòu)建應(yīng)用服務(wù)的框架,例如AOP和持久性。
核心容器
這是Spring框架最基礎(chǔ)的部分,它提供了依賴注入(DependencyInjection)特征來(lái)實(shí)現(xiàn)容器對(duì)Bean的管理。這里最基本的概念是BeanFactory,它是任何Spring應(yīng)用的核心。BeanFactory是工廠模式的一個(gè)實(shí)現(xiàn),它使用IoC將應(yīng)用配置和依賴說(shuō)明從實(shí)際的應(yīng)用代碼中分離出來(lái)。
應(yīng)用上下文(Context)模塊
核心模塊的BeanFactory使Spring成為一個(gè)容器,而上下文模塊使它成為一個(gè)框架。這個(gè)模塊擴(kuò)展了BeanFactory的概念,增加了對(duì)國(guó)際 化(I18N)消息、事件傳播以及驗(yàn)證的支持。
另外,這個(gè)模塊提供了許多企業(yè)服務(wù),例如電子郵件、JNDI訪問(wèn)、EJB集成、遠(yuǎn)程以及時(shí)序調(diào)度(scheduling)服務(wù)。也包括了對(duì)模版框 架例如Velocity和FreeMarker集成的支持。
Spring的AOP模塊
Spring在它的AOP模塊中提供了對(duì)面向切面編程的豐富支持。這個(gè)模塊是在Spring應(yīng)用中實(shí)現(xiàn)切面編程的基礎(chǔ)。為了確保Spring與其它 AOP框架的互用性,Spring的AOP支持基于AOP聯(lián)盟定義的API。AOP聯(lián)盟是一個(gè)開源項(xiàng)目,它的目標(biāo)是通過(guò)定義一組共同的接口和組件來(lái)促進(jìn)AOP的使用以及不同的AOP實(shí)現(xiàn)之間的互用性。通過(guò)訪問(wèn)他們的站點(diǎn),你可以找到關(guān)于AOP聯(lián)盟的更多內(nèi)容。
Spring的AOP模塊也將元數(shù)據(jù)編程引入了Spring。使用Spring的元數(shù)據(jù)支持,你可以為你的源代碼增加注釋,指示Spring在何處以及如 何應(yīng)用切面函數(shù)。
JDBC抽象和DAO模塊
使用JDBC經(jīng)常導(dǎo)致大量的重復(fù)代碼,取得連接、創(chuàng)建語(yǔ)句、處理結(jié)果集,然后關(guān)閉連接。Spring的JDBC和DAO模塊抽取了這些重復(fù)代 碼,因此你可以保持你的數(shù)據(jù)庫(kù)訪問(wèn)代碼干凈簡(jiǎn)潔,并且可以防止因關(guān)閉數(shù)據(jù)庫(kù)資源失敗而引起的問(wèn)題。
這個(gè)模塊還在幾種數(shù)據(jù)庫(kù)服務(wù)器給出的錯(cuò)誤消息之上建立了一個(gè)有意義的異常層。使你不用再試圖破譯神秘的私有的SQL錯(cuò)誤消息!
另外,這個(gè)模塊還使用了Spring的AOP模塊為Spring應(yīng)用中的對(duì)象提供了事務(wù)管理服務(wù)。
對(duì)象/關(guān)系映射集成模塊
對(duì)那些更喜歡使用對(duì)象/關(guān)系映射工具而不是直接使用JDBC的人,Spring提供了ORM模塊。Spring并不試圖實(shí)現(xiàn)它自己的ORM解決方 案,而是為幾種流行的ORM框架提供了集成方案,包括Hibernate、JDO和iBATIS SQL映射。Spring的事務(wù)管理支持這些ORM框架中的每一個(gè)也包括JDBC。
Spring的Web模塊
Web上下文模塊建立于應(yīng)用上下文模塊之上,提供了一個(gè)適合于Web應(yīng)用的上下文。另外,這個(gè)模塊還提供了一些面向服務(wù)支持。例
如:實(shí)現(xiàn)文件上傳的multipart請(qǐng)求,它也提供了Spring和其它Web框架的集成,比如Struts、WebWork。
Spring的MVC框架
Spring為構(gòu)建Web應(yīng)用提供了一個(gè)功能全面的MVC框架。雖然Spring可以很容易地與其它MVC框架集成,例如Struts,但Spring的MVC框架使用IoC對(duì)控制邏輯和業(yè)務(wù)對(duì)象提供了完全的分離。
它也允許你聲明性地將請(qǐng)求參數(shù)綁定到你的業(yè)務(wù)對(duì)象中,此外,Spring的MVC框架還可以利用Spring的任何其它服務(wù),例如國(guó)際化信息與驗(yàn)證。
Spring框架Web頁(yè)面亂碼問(wèn)題
在做java Web 項(xiàng)目時(shí),亂碼問(wèn)題時(shí)常都會(huì)出現(xiàn),解決方法也不盡相同,有簡(jiǎn)單也有復(fù)雜的;如果加入了Spring框架之后就不一樣了,可 以采用Spring框架自帶的過(guò)濾器CharacterEncodingFilter,這樣可以大大減輕了我們的工作量,即簡(jiǎn)單方便又容易理解。
以上就是Spring框架是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!