<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>



      ————也許我注定成不了一個(gè)偉大的人,但是至少我可以做一個(gè)很棒的自己。我想我現(xiàn)在應(yīng)該做的不是瞻前顧后,而是活在當(dāng)下,正確認(rèn)知自己,做好自己現(xiàn)在的工作,努力提升自己的能力,踏踏實(shí)實(shí)地做一個(gè)程序員

      一、思維決定高度



      ?

      * Struts2:web層,比較簡(jiǎn)單(難點(diǎn):ValueStack值棧、攔截器)
      * Hibernate:dao層,知識(shí)點(diǎn)雜(學(xué)了不用,默認(rèn)設(shè)置夠用了)
      * Spring:service層,重要,(講多少用多少)
      二、Spring框架概述

      * Spring是一個(gè)開(kāi)源框架,Spring是于2003 年興起的一個(gè)輕量級(jí)的Java 開(kāi)發(fā)框架,由Rod Johnson 在其著作《Expert
      One-On-One J2EE Development and
      Design》中闡述的部分理念和原型衍生而來(lái)。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。該框架的主要優(yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個(gè)組件,同時(shí)為
      J2EE
      應(yīng)用程序開(kāi)發(fā)提供集成的框架。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。
      Spring的核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)分層的JavaSE/EE?full-stack(一站式)輕量級(jí)開(kāi)源框架。
      * 輕量級(jí):與EJB對(duì)比,依賴資源少,消耗的資源少。
      * 分層:full-stack(一站式),每一個(gè)層都提供解決方案。
      * web層:struts,spring-MVC
      * service層:spring
      * dao層:hibernate,mybatis,jdbcTemplate?-->?spring-data
      三、Spring的優(yōu)點(diǎn)

      * 方便解耦,簡(jiǎn)化開(kāi)發(fā)(高內(nèi)聚低耦合)
      * `Spring就是一個(gè)大工廠(容器)`,可以將所有對(duì)象創(chuàng)建和依賴關(guān)系維護(hù),交給Spring管理。
      * `Spring工廠就是用于生成Bean。`
      * AOP編程的支持
      * Spring提供面向切面編程,可以方便的實(shí)現(xiàn)對(duì)程序進(jìn)行權(quán)限攔截、運(yùn)行監(jiān)控等功能。
      * 聲明式事務(wù)的支持
      * 只需要通過(guò)配置就可以完成對(duì)事務(wù)的管理,而無(wú)需手動(dòng)編程。
      * 方便程序的測(cè)試
      * Spring對(duì)Junit4 支持,可以通過(guò)注解方便的測(cè)試Spring 程序。
      * 方便集成各種優(yōu)秀框架
      * Spring不排斥各種優(yōu)秀的開(kāi)源框架,其內(nèi)部提供了對(duì)各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。
      * 降低JavaEE API的使用難度
      * Spring 對(duì)JavaEE 開(kāi)發(fā)中非常難用的一些API(JDBC、JavaMail、遠(yuǎn)程調(diào)用等),都提供了封裝,使這些API應(yīng)用難度大大降低。
      四、Spring的體系結(jié)構(gòu)

      Spring框架至今已集成了20多個(gè)模塊,這些模塊分布在以下模塊中:

      * 核心容器(Core Container)
      * 數(shù)據(jù)訪問(wèn)/集成(Data Access/Integration)層
      * Web層
      * AOP(Aspect Oriented Programming)模塊
      * 植入(Instrumentation)模塊
      * 消息傳輸(Messaging)
      * 測(cè)試(Test)模塊
      Spring體系結(jié)構(gòu)如下圖:



      ?

      一、核心容器


      Spring的核心容器是其他模塊建立的基礎(chǔ),有Spring-core、Spring-beans、Spring-context、Spring-context-support和Spring-expression(String表達(dá)式語(yǔ)言)等模塊組成。

      * Spring-core模塊:提供了框架的基本組成部分,包括控制反轉(zhuǎn)(Inversion of Control,IOC)和依賴注入(Dependency
      Injection,DI)功能。
      * Spring-beans模塊:提供了BeanFactory,是工廠模式的一個(gè)經(jīng)典實(shí)現(xiàn),Spring將管理對(duì)象稱為Bean。
      *
      Spring-context模塊:建立在Core和Beans模塊的基礎(chǔ)之上,提供一個(gè)框架式的對(duì)象訪問(wèn)方式,是訪問(wèn)定義和配置的任何對(duì)象的媒介。ApplicationContext接口是Context模塊的焦點(diǎn)。
      *
      Spring-context-support模塊:支持整合第三方庫(kù)到Spring應(yīng)用程序上下文,特別是用于高速緩存(EhCache、JCache)和任務(wù)調(diào)度(CommonJ、Quartz)的支持。
      *
      Spring-expression模塊:提供了強(qiáng)大的表達(dá)式語(yǔ)言去支持運(yùn)行時(shí)查詢和操作對(duì)象圖。這是對(duì)JSP2.1規(guī)范中規(guī)定的統(tǒng)一表達(dá)式語(yǔ)言(Unified
      EL)的擴(kuò)展。該語(yǔ)言支持設(shè)置和獲取屬性值、屬性分配、方法調(diào)用、訪問(wèn)數(shù)組、集合和索引器的內(nèi)容、邏輯和算術(shù)運(yùn)算、變量命名以及從Spring的IOC容器中以名稱檢索對(duì)象。它還支持列表投影、選擇以及常用的列表聚合。
      二、AOP和Instrumentation

      * Spring-aop模塊:提供了一個(gè)符合AOP要求的面向切面的編程實(shí)現(xiàn),允許定義方法攔截器和切入點(diǎn),將代碼按照功能進(jìn)行分離,以便干凈地解耦。
      * Spring-aspects模塊:提供了與AspectJ的集成功能,AspectJ是一個(gè)功能強(qiáng)大且成熟的AOP框架。
      * Spring-instrument模塊:提供了類植入(Instrumentation)支持和類加載器的實(shí)現(xiàn),可以在特定的應(yīng)用服務(wù)器中使用。
      三、消息

      * Spring4.0以后新增了消息(Spring-messaging)模塊,該模塊提供了對(duì)消息傳遞體系結(jié)構(gòu)和協(xié)議的支持。
      ?

      四、數(shù)據(jù)訪問(wèn)/集成

      數(shù)據(jù)訪問(wèn)/集成層由JDBC、ORM、OXM、JMS和事務(wù)模塊組成。

      * Spring-jdbc模塊:提供了一個(gè)JDBC的抽象層,消除了煩瑣的JDBC編碼和數(shù)據(jù)庫(kù)廠商特有的錯(cuò)誤代碼解析。
      * Spring-orm模塊:為流行的對(duì)象關(guān)系映射(Object-Relational
      Mapping)API提供集成層,包括JPA和Hibernate。使用Spring-orm模塊可以將這些O/R映射框架與Spring提供的所有其他功能結(jié)合使用,例如聲明式事務(wù)管理功能。
      * Spring-oxm模塊:提供了一個(gè)支持對(duì)象/XML映射的抽象層實(shí)現(xiàn),例如JAXB、Castor、JiBX和XStream。
      * Spring-jms模塊(Java Messaging
      Service):指Java消息傳遞服務(wù),包含用于生產(chǎn)和使用消息的功能。自Spring4.1以后,提供了與Spring-messaging模塊的集成。
      * Spring-tx模塊(事務(wù)模塊):支持用于實(shí)現(xiàn)特殊接口和所有POJO(普通Java對(duì)象)類的編程和聲明式事務(wù)管理。
      五、Web

      Web層由Spring-web、Spring-webmvc、Spring-websocket和Portlet模塊組成。

      * Spring-web模塊:提供了基本的Web開(kāi)發(fā)集成功能,例如多文件上傳功能、使用Servlet監(jiān)聽(tīng)器初始化一個(gè)IOC容器以及Web應(yīng)用上下文。
      * Spring-webmvc模塊:也稱為Web-Servlet模塊,包含用于web應(yīng)用程序的Spring MVC和REST Web
      Services實(shí)現(xiàn)。Spring MVC框架提供了領(lǐng)域模型代碼和Web表單之間的清晰分離,并與Spring Framework的所有其他功能集成。
      * Spring-websocket模塊:Spring4.0以后新增的模塊,它提供了WebSocket和SocketJS的實(shí)現(xiàn)。
      * Portlet模塊:類似于Servlet模塊的功能,提供了Portlet環(huán)境下的MVC實(shí)現(xiàn)。
      六、測(cè)試

      * Spring-test模塊支持使用JUnit或TestNG對(duì)Spring組件進(jìn)行單元測(cè)試和集成測(cè)試。

      *****************************************************************************************************

      我的博客園地址:https://www.cnblogs.com/zyx110/ <https://www.cnblogs.com/zyx110/>

      轉(zhuǎn)載請(qǐng)說(shuō)明出處


      我不能保證我所說(shuō)的都是對(duì)的,但我能保證每一篇都是用心去寫(xiě)的,我始終認(rèn)同“分享的越多,你的價(jià)值增值越大”,歡迎大家關(guān)注我的技術(shù)分享“Java匹馬行天下”和學(xué)習(xí)心得分享“匹馬行天下”,在分享中進(jìn)步,越努力越幸運(yùn),期待我們都有美好的明天!

      支持我的朋友們記得點(diǎn)波推薦哦,分享給更多的人,請(qǐng)動(dòng)動(dòng)您的小手,您的肯定就是我進(jìn)步的動(dòng)力。

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問(wèn)題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          蓝湛被调教嗯啊好深啊 | 白丝袜麻麻下面好紧好舒服 | 色搞搞 | 国产色婷婷精品综合在线播放 | 五月婷婷五月天 | 人善交video另类hd男人 | 伊人大香蕉电影网 | 国产屁股喷水 | 日日噜狠狠色综合久 | 高清无码成人免费在线 |