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

溫馨提示×

溫馨提示×

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

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

Spring如何實例化bean

發布時間:2021-08-19 15:01:17 來源:億速云 閱讀:153 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Spring如何實例化bean”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Spring如何實例化bean”這篇文章吧。

1.使用類構造器實現實例化(bean的自身構造器)

<bean id = "orderService" class="cn.itcast.OrderServiceBean"/>

2.使用靜態工廠方法實現實例化

<bean id = "personService" class = "cn.itcast.OrderFactory" factory-method   = "createOrder"/>
public class OrderFactory{
  private static OrderFactory orderFactory = new OrderFactory();
  private OrderFactory();
  public static OrderFactory createOrder(){
     return OrderFactory;  
  } 
}

3.使用實例化工廠方法實現實例化(通過別的實體的bean)

<bean id = "personServiceFactory" class = "cn.itcast.service.OrderFactory"/>
<bean id = "persionService" factory-bean = "personServiceFactory" foctory-method = "createOrder"/>
public class OrderFactory{
  private static OrderService orderService = new OrderService();
  private OrderFactory();
  public static OrderService createOrderServiceBean{
    return OrderService;
  }
    
}

我們通常把負責加載bean的BeanFactory或者ApplicationContext叫做Spring容器。兩者都是通過xml配置文件加載bean,ApplicationContext和BeanFacotry相比,主要區別在于BeanFacotry是延遲加載,在調用getBean()的時候才實例化要get的bean。如果Bean的某一個屬性無法注入,這時候才會拋出異常;而ApplicationContext默認,在初始化自身的時候就會對所有的bean做實例化,除非對bean設置lazy-init="true",這樣有利于檢查所依賴屬性是否能注入。

  另外,ApplicationContext提供了更多的擴展功能,如對要加載的資源文件的國際化'處理,對BeanPostProcessor的處理,所以在J2EE應用中,通常情況下我們都選擇使用ApplicationContext。不管是使用BeanFactory還是ApplicationContext,Spring 默認以singleton的方式初始化bean.

  對于BeanFactory的初始化,通常用下面的代碼:

ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);

對于ApplicationContext的初始化,通常在web.xml中配置:

<context-param>  
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:conf/Appcontext.xml
    </param-value>
</context-param>
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

以上是“Spring如何實例化bean”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

泗阳县| 田林县| 延长县| 泰来县| 庆阳市| 赤峰市| 十堰市| 寿宁县| 邛崃市| 黄大仙区| 新丰县| 佛坪县| 福贡县| 兴义市| 丹东市| 肃北| 巩义市| 四子王旗| 红原县| 广宗县| 和平区| 罗江县| 陈巴尔虎旗| 页游| 屏东县| 呈贡县| 昌宁县| 碌曲县| 密云县| 清水河县| 布尔津县| 常宁市| 裕民县| 乐亭县| 太原市| 弥渡县| 西青区| 诸城市| 紫阳县| 莱州市| 开平市|