<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 4.11 使用 JSR 330 標準注解 從 Spring 3.0 開始,Spring 提供了對 JSR-330 標準注解(依賴注入)的支持。這些注解可 以和 Spring 注解以相同方式被掃描到。你僅僅需要在類路徑下添加相關的 jar 包即可。 > ![](img/note.gif) > 注意 > 如 果 你 使 用 Maven , 那 么 在 標 準 Maven 倉 庫([http://repo1.maven.org/maven2/javax/inject/javax.inject/1/](http://repo1.maven.org/maven2/javax/inject/javax.inject/1/))中 javax.inject 的 artifact 是可用的。你僅僅需要在 pom.xml 中添加如下的依賴即可: ``` <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency> ``` ### 4.11.1 使用@Inject 和@Named 進行依賴注入 除了@Autowired,javax.inject.Inject 還可以是下面這樣: ``` import javax.inject.Inject; public class SimpleMovieLister { private MovieFinder movieFinder; @Inject public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } // ... } ``` 至于@Autowired,可以在類級別,字段級別,方法級別和構造方法參數級別使用 @Inject。如果你想對應該被注入的依賴使用限定符名稱,你應該按如下方式使用@Named注解: ``` import javax.inject.Inject; import javax.inject.Named; public class SimpleMovieLister { private MovieFinder movieFinder; @Inject public void setMovieFinder(@Named("main") MovieFinder movieFinder) { this.movieFinder = movieFinder; } // ... } ``` ### 4.11.2 @Named:@Component 注解的標準等同 除了@Component,javax.inject.Named 還可以是下面這樣: ``` import javax.inject.Inject; import javax.inject.Named; @Named("movieListener") public class SimpleMovieLister { private MovieFinder movieFinder; @Inject public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } // ... } ``` 使用@Component 而不指定組件的名稱是很常用的方式。@Named 可以被用于相同的 情況: ``` import javax.inject.Inject; import javax.inject.Named; @Named public class SimpleMovieLister { private MovieFinder movieFinder; @Inject public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } // ... } ``` 當使用@Named,當使用 Spring 注解時,可以以相同的方式使用組件掃描: ``` <beans> <context:component-scan base-package="org.example"/> </beans> ``` ### 4.11.3 標準方法的限制 當使用標準注解時,了解一些不可用,但是很重要的特性是必要的,在下面的表格中給 出: 表 4.6 Spring 注解和標準注解的對比 | Spring | javax.inject.* | javax.inject 限制/注釋 | | --- | --- | --- | | @Autowired | @Inject | @Inject 沒有'required'屬性 | | @Component | @Named | | @Scope("singleton") | @Singleton | jsr-330 默認范圍和 Spring 的 prototype 相似。但是,要保持和 Spring 一般默認值一致,在 Spring 容器中 jsr-330 的 bean 聲 明默認是 singleton 的。要使用另外的 范圍,你應該使用 Spring 的@Scope 注解。javax.inject 也提供[@Scope](http://download.oracle.com/javaee/6/api/javax/inject/Scope.html) 注解。不過這僅 僅用于創建你自己的注解。 | | @Qualifier | @Named | | @Value | - | 不等同 | | @Required | - | 不等同 | | @Lazy | - | 不等同 |
                  <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>

                              哎呀哎呀视频在线观看