亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

乌审旗| 垫江县| 澳门| 德州市| 呼和浩特市| 济南市| 武威市| 阜宁县| 宁津县| 临汾市| 甘德县| 工布江达县| 油尖旺区| 个旧市| 沭阳县| 襄城县| 灵璧县| 木里| 景德镇市| 阿尔山市| 略阳县| 泾源县| 鹤峰县| 太康县| 石城县| 山阳县| 雅安市| 吉隆县| 杂多县| 同心县| 安远县| 手游| 江陵县| 栾川县| 右玉县| 牟定县| 自治县| 崇州市| 漾濞| 日照市| 小金县|