<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Spring 示例中的依賴注入 > 原文: [https://javatutorial.net/dependency-injection-in-spring-example](https://javatutorial.net/dependency-injection-in-spring-example) 在本教程中,您將學習什么是 Spring 中的依賴注入,它如何工作以及如何使用它。 ![spring-featured-image](https://img.kancloud.cn/64/23/64231db4bf6e880066d0d4c2e31ac166_780x330.jpg) ## 什么是依賴注入? 依賴注入是您必須了解的 Spring 基礎知識之一。 當您創建一個復雜的應用程序時,您將有可能使不同的對象一起工作。 理想情況下,您希望這些對象彼此獨立。 此設計原則是控制反轉的原則,它強調 Java 類彼此之間保持獨立,然后容器會將其從對象創建和維護中解放出來。 如果您不熟悉 IoC,強烈建議您閱讀[關于該主題的文章](https://javatutorial.net/ioc-in-spring)。 考慮一下您將如何按照傳統方法創建對象依賴關系。 您將必須創建對象類型的實例變量,然后使用構造函數和設置方法或一個(構造方法/設置方法)。 像這樣: ```java public class Employee{ private Company company; public Employee() { company = new Company(); } } ``` 但是,當我們使用 DI 時,它將看起來像這樣: ```java public class Employee{ private Company company; public Employee(Company company) { this.company= company; } } ``` 您能明白為什么第二個例子更好嗎? 因為現在員工無需擔心公司的實現,所以它將獨立于員工實現,并通過構造函數提供給員工,換句話說,是在`Employee`初始化時。 換句話說,如果沒有公司的一部分,員工將無法生存。 否則,他就不會當雇員。 依賴項(公司)通過構造函數注入到`Employee`類中。 DI 有 2 種類型: 1. 構造器注入 1. 通過類構造函數注入時 2. 基于 Setter 的依賴注入 1. 使用 setter 方法注入時 讓我們看看如何使用 setter 方法實現 DI。 ## 基于 Setter 的依賴注入 當使用基于 setter 的注入時,容器將在調用無參數構造函數或方法實例化 bean 之后調用該類的 setter 方法。 如果您不熟悉 Spring 中的 bean,則可以閱讀[本文](https://javatutorial.net/introduction-to-spring-bean)。 這是基于 setter 的 DI 的實現方式: ```java @Bean public void setCompany(Company company) { this.company = company; } ``` 至于使用哪種類型,通常建議對強制性依賴項使用構造器 DI,對可選性依賴項使用 setter。 多虧了 DI,現在員工類不需要查找公司,并且它既不知道位置,也不知道它的類別。
                  <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>

                              哎呀哎呀视频在线观看