中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Spring實現依賴關系注入之后的行為

發布時間:2021-06-04 16:19:44 來源:億速云 閱讀:139 作者:Leah 欄目:編程語言

Spring實現依賴關系注入之后的行為?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一 配置

<?xml version="1.0" encoding="GBK"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://www.springframework.org/schema/beans"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
   <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/>
   <!-- 配置chinese Bean,使用init-method="init"
      指定該Bean所有屬性設置完成后,自動執行init方法 -->
   <bean id="chinese" class="org.crazyit.app.service.impl.Chinese"
      init-method="init">
      <property name="axe" ref="steelAxe"/>
   </bean>
</beans>

二 接口

1 Axe

package org.crazyit.app.service;
public interface Axe
{
   public String chop();
}

2 Person

package org.crazyit.app.service;
public interface Person
{
   public void useAxe();
}

三 Bean

1 Chinese

package org.crazyit.app.service.impl;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.*;
import org.springframework.context.*;
import org.crazyit.app.service.*;
public class Chinese implements Person , InitializingBean
  , BeanNameAware, ApplicationContextAware
{
  private Axe axe;
  public void setBeanName(String beanName)
  {
    System.out.println("===setBeanName===");
  }
  public void setApplicationContext(ApplicationContext ctx)
  {
    System.out.println("===setApplicationContext===");
  }
  public Chinese()
  {
    System.out.println("Spring實例化主調bean:Chinese實例...");
  }
  // axe的setter方法
  public void setAxe(Axe axe)
  {
    System.out.println("Spring調用setAxe()執行依賴注入...");
    this.axe = axe;
  }
  public void useAxe()
  {
    System.out.println(axe.chop());
  }
  // 測試用的初始化方法
  public void init()
  {
    System.out.println("正在執行初始化方法 init...");
  }
  // 實現InitializingBean接口必須實現的方法
  public void afterPropertiesSet() throws Exception
  {
    System.out.println("正在執行初始化方法 afterPropertiesSet...");
  }
}

2 SteelAxe

package org.crazyit.app.service.impl;
import org.crazyit.app.service.*;
public class SteelAxe
   implements Axe
{
   public SteelAxe()
   {
      System.out.println("Spring實例化依賴bean:SteelAxe實例...");
   }
   public String chop()
   {
      return "鋼斧砍柴真快";
   }
}

四 測試類

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
import org.crazyit.app.service.*;
public class BeanTest
{
  public static void main(String[] args)throws Exception
  {
    ApplicationContext ctx = new
      ClassPathXmlApplicationContext("beans.xml");
    Person p = ctx.getBean("chinese" , Person.class);
    p.useAxe();
  }
}

五 測試結果

Spring實例化依賴bean:SteelAxe實例...
Spring實例化主調bean:Chinese實例...
Spring調用setAxe()執行依賴注入...
===setBeanName===
===setApplicationContext===
正在執行初始化方法 afterPropertiesSet...
正在執行初始化方法 init...
鋼斧砍柴真快

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

武山县| 武安市| 蓬莱市| 峡江县| 城步| 昌邑市| 绍兴县| 岚皋县| 慈溪市| 高雄市| 启东市| 平舆县| 布尔津县| 十堰市| 五华县| 兰坪| 宁武县| 库伦旗| 亚东县| 定日县| 福泉市| 盐源县| 利川市| 台北市| 来宾市| 全椒县| 故城县| 贺州市| 红安县| 高阳县| 红河县| 鞍山市| 临桂县| 阜城县| 汕头市| 鹿泉市| 株洲县| 丹凤县| 陈巴尔虎旗| 泗阳县| 鄱阳县|