Spring框架入手學習(二)

2021-08-06 06:57:02 字數 3296 閱讀 7056

前言 正文

1.1 核心api

@test

public

void

demo02()

1.2 bean例項化方式

3種bean例項化方式:預設構造、靜態工廠、例項工廠

1.2.1 預設例項化方式

class=""> 必須提供預設構造

這裡就不在多說了,前一篇,一般情況下, 採用的就是預設構造,不需要新增過多的**。

1.2.2 靜態工廠例項化方式

常用與spring整合其他框架(工具)

靜態工廠:用於生成例項物件,所有的方法必須是static

""

class="工廠全限定類名" factory-method="靜態方法">

具體**:

public

inte***ce userservice

public

class

userserviceimpl

implements

userservice

}

工廠類:

public

class

mybeanfactory

}

建立乙個靜態工廠類,裡面的方法都是static靜態方法,返回乙個例項

beans.xml配置

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

xmlns=""

xmlns:xsi=""

xsi:schemalocation="

/spring-beans.xsd">

id="userserviceid"

class="com.shao.c_inject.b_static_factory.mybeanfactory"

factory-method="createuserservice">

bean>

beans>

1.2.3 例項工廠例項化方式

例項工廠:必須先有工廠例項物件,通過例項物件建立物件。提供所有的方法都是「非靜態」的。

工廠類:

public

class

mybeanfactory

}

beans.xml配置

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

xmlns=""

xmlns:xsi=""

xsi:schemalocation="

/spring-beans.xsd">

id ="mybeanfactoryid"

class="com.shao.c_inject.c_factory.mybeanfactory">

bean>

id="userserviceid"

factory-bean = "mybeanfactoryid"

factory-method="createuserservice">

bean>

beans>

2 .bean種類

普通bean:之前操作的都是普通bean。 ,spring直接建立a例項,並返回factorybean:是乙個特殊的bean,具有工廠生成物件能力,只能生成特定的物件。

bean必須使用 factorybean介面,此介面提供方法 getobject() 用於獲得特定bean。

先建立fb例項,使用呼叫getobject()方法,並返回方法的返回值

fb fb = new fb();

return fb.getobject();

beanfactory 和 factorybean 對比?

beanfactory:工廠,用於生成任意bean。

factorybean:特殊bean,用於生成另乙個特定的bean。例如:proxyfactorybean ,此工廠bean用於生產**。 獲得**物件例項。aop使用

2.1 作用域

作用域:用於確定spring建立bean例項個數

取值:

singleton 單例,預設值。

prototype 多例,每執行一次getbean將獲得乙個例項。例如:struts整合spring,配置action多例。

配置資訊:

"userserviceid"

class="com.shao.c_inject_scope.userserviceimpl"

scope= "prototype">

public

class testioc

@test

public

void

demo2()

}

輸出:

八月 16, 2017

10:48:47 上午 org.springframework

.context

.support

資訊: refreshing org.springframework

.context

.support

@3abfe836: startup date [wed aug 16

10:48:47 cst 2017]; root of context hierarchy

八月 16, 2017

10:48:47 上午 org.springframework

.beans

.factory

.xml

.xmlbeandefinitionreader loadbeandefinitions

資訊: loading xml bean definitions from class path resource [com/shao/c_inject_scope/beans.xml]

com.shao

.c_inject_scope.userserviceimpl

@9660f4e

com.shao

.c_inject_scope.userserviceimpl

@5a8806ef

spring框架入門

srping是乙個開源的控制反轉 inversion of control 和面向切面 aop 的容器,它的主要目的是簡化企業開發 public class personservicebean ioc控制反 所謂控制反轉就是應用本身不負責依賴物件的建立及維護,依賴物件的建立及維護是由外部容器負責的。...

Spring框架入門(一)

框架就是制訂一套規範或規則,程式設計師在該規範或規則下工作,形象地說就是在搭好的舞台上表演 半成品 封裝了特定的處理流程與控制邏輯 成熟的 不斷公升級改進的軟體 框架一般是封裝了邏輯 高內聚的,類庫則是鬆散的工具組合 框架專注於某一領域,類庫則是更通用 軟體系統日趨複雜 重用度高,開發效率與質量提高...

Spring框架入門01 理解Spring的DI

ps 很少寫博 看了一篇文章受了刺激 決定也寫寫部落格 文筆很次大家喜歡看就看,不喜歡也別拍磚 很久很久以前 在美麗的城堡裡面住著一位漂亮的公主,他和他的家人 朋友幸福的生活著 有一天 的格格巫來到了這個城堡,他看見了漂亮的公主於是她決定要將公主搶走 格格巫使用了乙個 的魔法將公主抓了起來,公主很害...