Spring學習二(Bean配置)

2021-07-23 03:45:21 字數 3845 閱讀 1464

繼承圖

beanfactory:載入配置檔案時,例項化延遲,在呼叫getbean()的時候才進行例項化。

@test

public

void

testhellospring()

這種方式,比較常用,也就是只在bean.xml檔案中配置就行了

id="userid"

class="com.exmaple.spring.user">

bean>

通過建立靜態類,在類中建立例項,在bean.xml檔案中配置工廠類

1、user類

public

class user

}

2、mybeanfactory**

public

class mybeanfactory

}

3、beans.xml配置

<?xml version="1.0" encoding="utf-8"?>

xmlns=""

xmlns:xsi=""

xsi:schemalocation="

/spring-beans.xsd">

id="user"

class="com.exmaple.spring3.mybeanfactory"

factory-method="createuser">

bean>

beans>

4、測試

@test

public

void

testhellospring()

使用這種模式,首先得例項化工廠

1、user類

public

class user

}

2、mybeanfactory類中**

public

class mybeanfactory

}

3、bean.xml檔案配置

<?xml version="1.0" encoding="utf-8"?>

xmlns=""

xmlns:xsi=""

xsi:schemalocation="

/spring-beans.xsd">

id="mybeanfactory"

class="com.exmaple.spring4.mybeanfactory">

bean>

id="user1"

factory-bean="mybeanfactory"

factory-method="createuser">

bean>

beans>

4、測試

@test

public

void

testhellospring()

普通bean:

工廠bean:特殊的bean,用於生成指定的bean,必須實現介面factorybean,這個介面用於返回指定的bean例項

beanfactory:這是乙個工廠,用於生成bean,生成任意的bean.

factorybean:這是乙個bean,用於生成指定的bean.

id="userid"

class="com.exmaple.spring.user">

bean>

id:不能重複,可以使用特殊字元和數字

name:可以設定多個name,但是不能重複

1、xml注入:

建構函式注入:構造注入的優勢是通過構造強制依賴關係

屬性setter方法注入: set注入的缺點是無法清晰表達哪些屬性是必須的,哪些是可選

介面注入 – spring不支援

2、自動注入

bytype:按型別裝配

byname:按名稱裝配

constructor裝配

autodetect 不確定裝配

構造注入

public

class user

public string tostring()

}

bean.xml中配置

<?xml version="1.0" encoding="utf-8"?>

xsi:schemalocation="

/spring-beans.xsd"

xmlns:xsi=""

xmlns="">

id="user"

class="com.zcl.spring.setterinjection.user">

value="zhao" />

value="22" />

value="china" />

bean>

beans>

spring3.0引入全新的spel(spring expression language)spring表示式語言,使用表示式語言可以使屬性注入格式進行進一步簡化,同時支援包括物件注入、集合注入、集合訪問、例項方法引用、靜態方法引用等多種格式

格式:註解:就是乙個類,用於取代xml檔案,使配置更加簡化

xml配置:容易查詢,但內容多,不易維護

註解配置:將註解新增在介面或者類上,不直觀,不易查詢。

註解:

@component 元件,用於取代配置,建議配置任意內容。

@controller ,用於配置web層,之後使用在action上。

@service,用於配置service層。

@repository ,用於配置dao層。

@autowired 自動注入,預設情況安裝型別進行注入

@qualifier 修改自動注入,從預設按照型別匹配,變成按照名稱匹配。

@resource 與 @autowired和@qualifier結合 等效

例如:@resource(「名稱」)

在mvc專案中的對應

controller層:action中配置 @controller,並使用@autowired進行自動注入

service層:配置@service,且使用@autowired和@qualifier 確定使用指定的dao

dao層:dao中配置@repository

匯入spring測試jar – spring-test-3.2.0.release.jar

兩個註解

@runwith 用於確定使用按個第三方測試功能

例如:junit4 實現類 springjunit4classrunner

@contextconfiguration 用於配置xml檔案

locations 確定xml位置。

Spring之Bean的配置(二)

目錄 一 bean的配置 1.自動裝配 1 簡介 2 缺點 2.繼承bean 3.依賴bean配置 4.bean的作用域 5.使用外部屬性檔案 6.註冊propertyplaceholderconfigurer 7.通過工廠方法配置bean 1 靜態工廠 2 例項工廠 8.通過factorybean...

spring框架學習05 註解配置bean

1.註解配置元件型別 component 標識乙個受spring ioc容器管理的元件。repository 標識乙個受spring ioc容器管理的持久化層元件。service 標識乙個受spring ioc容器管理的業務邏輯層元件。controller 標識乙個受spring ioc容器管理的表...

Spring中Bean的配置

以下面的xml檔案舉例 第乙個bean的名稱為role,第二個bean的名稱為medicine,第三個bean的名稱為spring.chapter.mary.poison,第四個bean的名稱為spring.chapter.mary.poison 1 id和name的區別如下 id屬性具有唯一性,每...