Spring框架 Bean的例項化方式

2021-10-17 12:55:01 字數 2190 閱讀 5088

2、基於註解的方式裝配bean

spring容器裝配bean的方式主要是兩種:

bean基於配置方式例項化有三種形式:

<

!--基於無參構造例項化bean--

>

"person"

class

="com.tulun.bean.person1"

/>

無參構造方式例項化bean的xml配置資訊如上,需要確保存在無參建構函式

給定乙個靜態工廠類來獲取person物件

public

class

staticfactory

}

交給ioc容器的配置如下:

<

!--基於靜態工廠方式例項化bean--

>

"person1"

class

="com.tulun.factory.staticfactory" factory-method=

"getperson"

/>

class屬性指定的靜態工廠類的全路徑 ,factory-method屬性即對應的方法,當前獲取person類在靜態工廠下提供的getperson方法可獲取該物件

基礎工廠類定義如下:

public

class

commonfactory

}

配置bean資訊如下:

<

!--基於普通工廠方法例項化bean--

>

"factoty"

class

="com.tulun.factory.commonfactory"

/>

"person2" factory-bean=

"factoty" factory-method=

"getperson"

/>

相比於xml形式裝配bean會更加簡單

!--開啟註解掃瞄:在指定的包路徑下所有的類名,屬性等上的註解都會進行掃瞄--

>

package

="com.tulun"

/>

<

!>

<

/beans>注意:使用標籤一定要引入context約束,該約束下才提供了標籤

@component

public

class

person1

//獲取ioc容器

new();

//在容器中獲取需要的物件

person1 person =

(person1) context.

getbean

("person1");

system.out.

println

(person)

;

通過以上**演示:使用註解很方便,在配置檔案中指定掃瞄的包路徑或者類路徑後,另交給ioc管理的類上直接新增註解@component

spring中提供的4中註解來標註bean

後端的業務分層一般業務請求順序:controller(進行url結束和返回)→ service(業務邏輯)→ dao(訪問資料層)

@component是spring提供的通用的元件註解

@repository@service@controller都是有其衍生出來,功能都是一樣的,可以互換,主要是為了區分被註解的類處在不同的業務層,使邏輯更加清晰。

Spring框架 Bean的種類

1 普通bean spring直接建立a例項,並返回。2 factorybean 是乙個特殊的bean,具有工廠生成物件能力,只能生成特定的物件。bean必須使用factorybean介面,此介面提供方法getobject 用於獲得特定bean。先建立fb例項,呼叫getobject 方法,並返回方...

Spring內部bean例項

使用情形 在spring框架中,bean a只作為另外乙個bean b的屬性,那麼可以把a作為b的內部bean例項。內部bean例項支援setter注入和構造器注入。cat物件是animaser物件的乙個內部bean例項 animaser類 public class animalser public...

Spring內部bean例項

在spring框架中,乙個bean僅用於乙個特定的屬性,這是提醒其宣告為乙個內部bean。內部bean支援setter注入 property 和構造器注入 constructor arg 下面來看看乙個詳細的例子,演示使用 spring 內部 bean package com.yiibai.comm...