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

溫馨提示×

溫馨提示×

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

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

Spring3.x中有幾種Bean配置方式

發布時間:2021-08-11 14:25:38 來源:億速云 閱讀:93 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Spring3.x中有幾種Bean配置方式的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

下面分別介紹下這三種配置方式;首先定義一個用于舉例的JavaBean。

package com.chinalife.dao  
public class LoginUserDao {
	……  
	  // 用于設置初始化方法  
	public void myInit() {
	}
	// 用于設置銷毀方法  
	public void myDestroy() {
	}
}

一、 基于XML的配置

<bean id=“loginUserDao” class=“com.chinalife.dao.impl.LoginUserDaoImpl” 
    lazy-init=“true” init-method=“myInit” destroy-method=“myDestroy” 
    scope=“prototype”> 
    ……  
</bean>

在XML配置中,通過<bean></bean>來定義Bean,通過id或name屬性定義Bean的名稱,如果未指定id和name屬性,Spring則自動將全限定類名作為Bean的名稱。通過<property>子元素或者p命名空間的動態屬性為Bean注入值。還可以通過<bean>的init-method和destory-method屬性指定Bean實現類的方法名來設置生命過程方法(最多指定一個初始化方法和銷毀方法)。通過<bean>的scope指定Bean的作用范圍。聽過<bean>的lazy-init屬性指定是否延遲初始化。

當Bean的實現類來源于第三方類庫,比如DataSource、HibernateTemplate等,無法在類中標注注解信息,只能通過XML進行配置;而且命名空間的配置,比如aop、context等,也只能采用基于XML的配置。

二、基于注解的配置

@Scope(“prototype”)  
@Lazy(true)  
@Component(“loginUserDao”)  
public class LoginUserDao {  
  ……  
  // 用于設置初始化方法  
  @PostConstruct 
  public void myInit() {  
 
  }  
 
  // 用于設置銷毀方法  
  @PreDestroy 
  public void myDestroy() {  
  }  
}

在Bean實現類中通過一些Annotation來標注Bean類:

·@Component:標注一個普通的SpringBean類(可以指定Bean名稱,未指定時默認為小寫字母開頭的類名)

·@Controller:標注一個控制器類

·@Service:標注一個業務邏輯類

·@Repository:標注一個DAO類

通過在成員變量或者方法入參處標注@Autowired按類型匹配注入,也可以使用@Qualifier按名稱配置注入。通過在方法上標注@PostConstrut和PreDestroy注解指定的初始化方法和銷毀方法(可以定義任意多個)。通過@Scope(“prototype”)指定Bean的作用范圍。通過在類定義處標注@Lazy(true)指定Bean的延遲加載。

當Bean的實現類是當前項目開發的,可以直接在Java類中使用基于注解的配置,配置比較簡單。

三、基于Java類配置

@Configuration 
public class Conf {  
  @Scope(“prototype”)  
  @Bean(“loginUserDao”)  
  public LoginUserDao loginUserDao() {  
    return new LoginUserDao();  
  }  
}

在標注了@Configuration的java類中,通過在類方法標注@Bean定義一個Bean。方法必須提供Bean的實例化邏輯。通過@Bean的name屬性可以定義Bean的名稱,未指定時默認名稱為方法名。在方法處通過@Autowired使方法入參綁定Bean,然后在方法中通過代碼進行注入;也可以調用配置類的@Bean方法進行注入。通過@Bean的initMethod或destroyMethod指定一個初始化或者銷毀方法。通過Bean方法定義處標注@Scope指定Bean的作用范圍。通過在Bean方法定義處標注@Lazy指定Bean的延遲初始化。

當實例化Bean的邏輯比較復雜時,則比較適合基于Java類配置的方式。

感謝各位的閱讀!關于“Spring3.x中有幾種Bean配置方式”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

德令哈市| 景泰县| 绥阳县| 内黄县| 修文县| 定安县| 河源市| 曲靖市| 临湘市| 保德县| 文水县| 保靖县| 鞍山市| 临桂县| 红桥区| 台州市| 廉江市| 噶尔县| 彩票| 永泰县| 米泉市| 沈阳市| 社旗县| 长武县| 永寿县| 乃东县| 常德市| 宁陵县| 金湖县| 桦川县| 阜南县| 阿拉善盟| 油尖旺区| 天峻县| 平远县| 宁海县| 曲松县| 丹阳市| 巫溪县| 辽阳县| 常德市|