Spring getBeansOfType方法:獲取指定型別的JavaBean

2020-07-16 10:05:06
該方法用於獲取 Spring 容器中指定型別的所有 JavaBean 物件。

語法:

getBeansOfType(Class type)

引數說明:
  • type:指定的類的 Class 範例。

返回值:容納指定型別JavaBean物件的Map集合。

範例

首先獲取容器中 Date 類的所有 JavaBean 名稱,然後獲取所有 Date 類的 JavaBean 的 Map 集合,再使用 JavaBean 名稱分別獲取範例物件,最後輸出結果,關鍵程式碼如下:
public static void main(String[] args){
  ApplicationContext context = new ClassPathXmlApplicationContext(
    "appContext.xml");
  String[] eanNames = 
    context.getBeanNamesForType(Date.class);  //獲取指定型別的所有JavaBean物件
  Map beans = context.getBeansOfType(Date.class);  //獲取容器中指定類
  for(String name:beanNames){
    Date bean = (Date)beans.get(name);
    System.out.println("名稱為"+name+"的JavaBean輸出結果為:"
                       +bean);
  }
}

該範例的組態檔程式碼如下:
<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.
                           springframework.org/schema/beans/spring-beans-2.5.xsd">
  <bean id="time"class="java.util.Date"></bean>
  <%--設定JavaBean--%>
    <bean id="time2"class="java.util.Date"></bean>
    <bean id="time3"class="java.util.Date"></bean>
    </beans>