91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何對Spring框架注解進行配置

發布時間:2020-12-02 15:04:54 來源:億速云 閱讀:141 作者:Leah 欄目:編程語言

本篇文章為大家展示了如何對Spring框架注解進行配置,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

前言

Spring框架對Bean進行裝配提供了很靈活的方式,下面歸納一下主要的方式:

  • 在XML中進行顯示配置
  • 在Java中進行顯示配置
  • 隱式的bean發現機制和自動裝配

而自動裝配實現就需要注解掃描,這時發現了兩種開啟注解掃描的方式,即<context:annotation-config/>和<context:component-scan>

下面歸納一下這兩種方式的異同點:

<context:annotation-config>:注解掃描是針對已經在Spring容器里注冊過的Bean

<context:component-scan>:不僅具備<context:annotation-config>的所有功能,還可以在指定的package下面掃描對應的bean

Demo:

Demo:XML注冊Bean方式

下面給出兩個類,類A和類B

package com.test;
pubic class B{

  public B(){
    System.out.println("B類");
  }
}
package com.test;
public class A {
  private B bClass;

  public void setBClass(B bClass){
    this.bClass = bClass;
    System.out.println("通過set的方式注入B類");
  }

  public A(){
    System.out.println("A類");
  }
}

如何我們這時可以通過傳統的xml配置在Application.xml里進行bean注冊

<bean id="bBean"class="com.test.B"/>
<bean id="aBean"class="com.test.A">
 <property name="bClass" ref="bBean"/>
</bean>

啟動加載Application.xml

輸出:
類B
類A
通過set的方式注入B類

Demo:annotation配置注解開啟方式

package com.test;
pubic class B{

  public B(){
    System.out.println("B類");
  }
}
package com.test;
public class A {
  private B bClass;

  @Autowired 
  public void setBClass(B bClass){
    this.bClass = bClass;
    System.out.println("通過set的方式注入B類");
  }

  public A(){
    System.out.println("A類");
  }
}

然后我們需要在Application.xml里注冊Bean,假如我們先這樣配置,僅僅注冊Bean,不開啟掃描

<bean id="bBean"class="com.test.B"/>
<bean id="aBean"class="com.test.A"/>

或者僅僅開啟掃描,不注冊Bean

<context:annotation-config/>

這時加載Application.xml配置

輸出:
類B
類A

我們會發現下面的@Autowired的方法是不能被加載的

@Autowired 
  public void setBClass(B bClass){
    this.bClass = bClass;
    System.out.println("通過set的方式注入B類");
  }

解決方法:

修改Application.xml配置文件

<context:annotation-config/>
<bean id="bBean"class="com.test.B"/>
<bean id="aBean"class="com.test.A"/>

重新加載配置文件,輸出正常了

輸出:
類B
類A
通過set的方式注入B類

歸納:<context:annotation-config>:注解掃描是針對已經在Spring容器里注冊過的Bean

Demo:component配置注解開啟方式

package com.test;
pubic class B{

  public B(){
    System.out.println("B類");
  }
}
package com.test;
@Component
public class A {
  private B bClass;

  @Autowired 
  public void setBClass(B bClass){
    this.bClass = bClass;
    System.out.println("通過set的方式注入B類");
  }

  public A(){
    System.out.println("A類");
  }
}

然后我們配置一下application.xml,開啟annotaion-config掃描

<context:annotation-config />

加載配置文件:

輸出:
類B
類A

原因:<context:annotation-config>:注解掃描是針對已經在Spring容器里注冊過的Bean,Bean并沒有注冊過,所以即使開啟了@Autowired、@Component注解 和配置開啟了annotaion-config掃描還是加載不到

修改配置文件:

<context:component-scan base-package="com.test"/>

重新加載配置文件:

輸出:
類B
類A
通過set的方式注入B類

歸納:

<context:annotation-config>:注解掃描是針對已經在Spring容器里注冊過的Bean

<context:component-scan>:不僅具備<context:annotation-config>的所有功能,還可以在指定的package下面掃描對應的bean

<context:annotation-config />和 <context:component-scan>同時存在的時候,前者會被忽略。

即使注冊Bean,同時開啟<context:annotation-config />掃描,@autowire,@resource等注入注解只會被注入一次,也即只加載一次

上述內容就是如何對Spring框架注解進行配置,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

集贤县| 盐山县| 渝北区| 巍山| 望都县| 阳曲县| 宁河县| 秦安县| 咸宁市| 绍兴县| 永昌县| 定边县| 威远县| 阿克苏市| 滕州市| 金平| 汾西县| 浦县| 邛崃市| 太原市| 杭州市| 京山县| 乐昌市| 灵山县| 增城市| 芦溪县| 鲁山县| 美姑县| 钟祥市| 婺源县| 临西县| 北票市| 南投市| 武冈市| 蒙城县| 锡林郭勒盟| 泰宁县| 安吉县| 陇西县| 邹城市| 濉溪县|