<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                **1. 為什么要使用 spring?** - spring 提供 ioc 技術,容器會幫你管理依賴的對象,從而不需要自己創建和管理依賴對象了,更輕松的實現了程序的解耦。 - spring 提供了事務支持,使得事務操作變的更加方便。 - spring 提供了面向切片編程,這樣可以更方便的處理某一類的問題。 - 更方便的框架集成,spring 可以很方便的集成其他框架,比如 MyBatis、hibernate 等。 ***** **2.什么是依賴注入?** 在依賴注入中,您不必創建對象,但必須描述如何創建它們。您不是直接在代碼 中將組件和服務連接在一起,而是描述配置文件中哪些組件需要哪些服務。由 IoC 容器將它們裝配在一起。 ***** **3. 解釋一下什么是 ioc?** ioc:Inversion of Control(中文:控制反轉)是 spring 的核心,對于 spring 框架來說,就是由 spring 來負責控制對象的生命周期和對象間的關系。 簡單來說,控制指的是當前對象對內部成員的控制權;控制反轉指的是,這種控制權不由當前對象管理了,由其他(類,第三方容器)來管理。 ***** **4. spring 有哪些主要模塊?** - spring core:框架的最基礎部分,提供 ioc 和依賴注入特性。 - spring context:構建于 core 封裝包基礎上的 context 封裝包,提供了一種框架式的對象訪問方法。 - spring dao:Data Access Object 提供了JDBC的抽象層。 - spring aop:提供了面向切面的編程實現,讓你可以自定義攔截器、切點等。 - spring Web:提供了針對 Web 開發的集成特性,例如文件上傳,利用 servlet listeners 進行 ioc 容器初始化和針對 Web 的 ApplicationContext。 -spring Web mvc:spring 中的 mvc 封裝包提供了 Web 應用的 Model-View-Controller(MVC)的實現。 ***** **5. spring 常用的注入方式有哪些?** - setter屬性注入 - 構造方法注入 - 注解方式注入 ***** **6. spring 中的 bean 是線程安全的嗎?** spring 中的 bean 默認是單例模式,spring 框架并沒有對單例 bean 進行多線程的封裝處理。 實際上大部分時候 spring bean 無狀態的(比如 dao 類),所有某種程度上來說 bean 也是安全的,但如果 bean 有狀態的話(比如 view model 對象),那就要開發者自己去保證線程安全了,最簡單的就是改變 bean 的作用域,把“singleton”變更為“prototype”,這樣請求 bean 相當于 new Bean()了,所以就可以保證線程安全了。 - 有狀態就是有數據存儲功能。 - 無狀態就是不會保存數據。 ***** **7. spring 支持幾種 bean 的作用域?** spring 支持 5 種作用域,如下: - singleton:spring ioc 容器中只存在一個 bean 實例,bean 以單例模式存在,是系統默認值; - prototype:每次從容器調用 bean 時都會創建一個新的示例,既每次 getBean()相當于執行 new Bean()操作; Web 環境下的作用域: - request:每次 http 請求都會創建一個 bean; - session:同一個 http session 共享一個 bean 實例; - global-session:用于 portlet 容器,因為每個 portlet 有單獨的 session,globalsession 提供一個全局性的 http session。 注意:?使用 prototype 作用域需要慎重的思考,因為頻繁創建和銷毀 bean 會帶來很大的性能開銷。 ***** **8. spring 自動裝配 bean 有哪些方式?** - no:默認值,表示沒有自動裝配,應使用顯式 bean 引用進行裝配。 - byName:它根據 bean 的名稱注入對象依賴項。 - byType:它根據類型注入對象依賴項。 - 構造函數:通過構造函數來注入依賴項,需要設置大量的參數。 - autodetect:容器首先通過構造函數使用 autowire 裝配,如果不能,則通過 byType 自動裝配。 ***** **9. spring 事務實現方式有哪些?** - 聲明式事務:聲明式事務也有兩種實現方式,基于 xml 配置文件的方式和注解方式(在類上添加 @Transaction 注解)。 - 編碼方式:提供編碼的形式管理和維護事務。 ***** **10. 說一下 spring 的事務隔離?** spring 有五大隔離級別,默認值為 ISOLATION_DEFAULT(使用數據庫的設置),其他四個隔離級別和數據庫的隔離級別一致: - ISOLATION_DEFAULT:用底層數據庫的設置隔離級別,數據庫設置的是什么我就用什么; - ISOLATIONREADUNCOMMITTED:未提交讀,最低隔離級別、事務未提交前,就可被其他事務讀取(會出現幻讀、臟讀、不可重復讀); - ISOLATIONREADCOMMITTED:提交讀,一個事務提交后才能被其他事務讀取到(會造成幻讀、不可重復讀),SQL server 的默認級別; - ISOLATIONREPEATABLEREAD:可重復讀,保證多次讀取同一個數據時,其值都和事務開始時候的內容是一致,禁止讀取到別的事務未提交的數據(會造成幻讀),MySQL 的默認級別; ISOLATION_SERIALIZABLE:序列化,代價最高最可靠的隔離級別,該隔離級別能防止臟讀、不可重復讀、幻讀。 ***** **11.spring 中有多少種 IOC 容器?** - BeanFactory - BeanFactory 就像一個包含 bean 集合的工廠類。它會在客戶端 要求時實例化 bean。 - ApplicationContext - ApplicationContext 接口擴展了 BeanFactory 接口。它 在 BeanFactory 基礎上提供了一些額外的功能。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看