<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java的Spring框架知識

            時間:2025-04-17 01:56:15 java語言 我要投稿
            • 相關推薦

            Java的Spring框架知識

              Spring是一個開源框架,于2003年興起的一個輕量級的Java 開發框架,下面我們來詳細了解一下Spring框架的基礎知識!

            Java的Spring框架知識

              一. Spring框架的作用

              輕量:Spring是輕量級的,基本的版本大小為2MB

              控制反轉:Spring通過控制反轉實現了松散耦合,對象們給出它們的依賴,而不是創建或查找依賴的對象們。

              面向切面的編程AOP:Spring支持面向切面的編程,并且把應用業務邏輯和系統服務分開。

              容器:Spring包含并管理應用中對象的生命周期和配置

              MVC框架: Spring-MVC

              事務管理:Spring提供一個持續的事務管理接口,可以擴展到上至本地事務下至全局事務JTA

              異常處理:Spring提供方便的API把具體技術相關的異常

              二. Spring的組成

              Spring由7個模塊組成:

              Spring Core: 核心容器提供 Spring 框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現。BeanFactory 使用控制反轉 (IOC) 模式將應用程序的配置和依賴性規范與實際的應用程序代碼分開。

              Spring 上下文:Spring 上下文是一個配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業服務,例如 JNDI、EJB、電子郵件、國際化、校驗和調度功能。

              Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持 AOP。Spring AOP 模塊為基于 Spring 的應用程序中的對象提供了事務管理服務。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務管理集成到應用程序中。

              Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同數據庫供應商拋出的錯誤消息。異常層次結構簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數量(例如打開和關閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。

              Spring ORM:Spring 框架插入了若干個 ORM 框架,從而提供了 ORM 的對象關系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務和 DAO 異常層次結構。

              Spring Web 模塊:Web 上下文模塊建立在應用程序上下文模塊之上,為基于 Web 的應用程序提供了上下文。所以,Spring 框架支持與 Jakarta Struts 的集成。Web 模塊還簡化了處理多部分請求以及將請求參數綁定到域對象的工作。

              Spring MVC 框架:MVC 框架是一個全功能的構建 Web 應用程序的 MVC 實現。通過策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術,其中包括 JSP、Velocity、Tiles、iText 和 POI。

              三. Spring容器

              Sping的容器可以分為兩種類型

              1. BeanFactory:(org.springframework.beans.factory.BeanFactory接口定義)是最簡答的容器,提供了基本的DI支持。最常用的BeanFactory實現就是XmlBeanFactory類,它根據XML文件中的定義加載beans,該容器從XML文件讀取配置元數據并用它去創建一個完全配置的系統或應用。

              2. ApplicationContext應用上下文:(org.springframework.context.ApplicationContext)基于BeanFactory之上構建,并提供面向應用的服務。

              四. ApplicationContext通常的實現

              ClassPathXmlApplicationContext:從類路徑下的XML配置文件中加載上下文定義,把應用上下文定義文件當做類資源。

              FileSystemXmlApplicationContext:讀取文件系統下的XML配置文件并加載上下文定義。

              XmlWebApplicationContext:讀取Web應用下的XML配置文件并裝載上下文定義。

              1 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

              五. IOC & DI

              Inversion of Control, 一般分為兩種類型:依賴注入DI(Dependency Injection)和依賴查找(Dependency Lookup).依賴注入應用比較廣泛。

              Spring IOC扶著創建對象,管理對象(DI),裝配對象,配置對象,并且管理這些對象的整個生命周期。

              優點:把應用的代碼量降到最低。容器測試,最小的代價和最小的侵入性使松散耦合得以實現。IOC容器支持加載服務時的餓漢式初始化和懶加載。

              DI依賴注入是IOC的一個方面,是個通常的概念,它有多種解釋。這概念是說你不用床架對象,而只需要描述它如何被創建。你不在代碼里直接組裝你的組件和服務,但是要在配置文件里描述組件需要哪些服務,之后一個IOC容器輔助把他們組裝起來。

              IOC的注入方式:1. 構造器依賴注入;2. Setter方法注入。

              六. 如何給spring容器提供配置元數據

              XML配置文件

              基于注解的配置

              基于Java的配置@Configuration, @Bean

              七. bean標簽中的屬性:

              id

              name

              class

              init-method:Bean實例化后會立刻調用的方法

              destory-method:Bean從容器移除和銷毀前,會調用的方法

              factory-method:運行我們調用一個指定的靜態方法,從而代替構造方法來創建一個類的實例。

              scope:Bean的作用域,包括singleton(默認),prototype(每次調用都創建一個實例), request,session, global-session(注意spring中的單例bean不是線程安全的)

              autowired:自動裝配 byName, byType, constructor, autodetect(首先闡釋使用constructor自動裝配,如果沒有發現與構造器相匹配的Bean時,Spring將嘗試使用byType自動裝配)

              八. beans標簽中相關屬性

              default-init-method

              default-destory-method

              default-autowire:默認為none,應用于Spring配置文件中的所有Bean,注意這里不是指Spring應用上下文,因為你可以定義多個配置文件。


            【Java的Spring框架知識】相關文章:

            講解Java的Spring框架中的AOP實現10-30

            Java中的Spring入門實例09-15

            Java 集合框架10-22

            Java開發的異常框架08-27

            關于java Spring整合Freemarker的詳細步驟06-23

            什么是java線程池框架10-02

            java的三大主流框架10-29

            java線程池框架解析09-11

            Java面試-關于Spring面試題及答案06-24

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看