Spring4 0 學習筆記(三)

2021-08-19 03:48:41 字數 3854 閱讀 9942

具體**

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

xmlns=""

xmlns:xsi=""

xsi:schemalocation="

/spring-beans.xsd">

id="address"

class="com.anqi.spel.address">

name="city"

value="#">

property>

name="street"

value="wutaishanlu">

property>

bean>

id="car"

class="com.anqi.spel.car">

name="brand"

value="audi">

property>

name="price"

value="500000">

property>

name="tyreprimeters"

value="#">

property>

bean>

id="person"

class="com.anqi.spel.person">

name="car"

value="#">

property>

name="city"

value="#">

property>

name="info"

value="#">

property>

name="name"

value="tom">

property>

bean>

beans>

public

class

person

public

class

address

public

class car

public

class

main

}在 bean 的宣告裡設定 init-method 和 destroy-method 屬性, 為 bean 指定初始化和銷毀方法.

**

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

xmlns=""

xmlns:xsi=""

xsi:schemalocation="

/spring-beans.xsd">

id="car"

class="com.anqi.cycle.car"

init-method="myinit"

destroy-method="mydestroy" >

name="brand"

value="fute">

property>

bean>

class="com.anqi.cycle.mybeanpostprocessor">

bean>

beans>

public

class car

public

void

myinit()

public

void

mydestroy()

//setter、getter、tostring

}

package com.anqi.cycle;

import org.springframework.beans.bean***ception;

import org.springframework.beans.factory.config.beanpostprocessor;

public

class

mybeanpostprocessor

implements

beanpostprocessor

public object postprocessbeforeinitialization(object bean, string beanname) throws bean***ception

}

public

class

main

}

id="car1"

class="com.anqi.factory.staticca***ctory"

factory-method="getcar">

value="audi">

constructor-arg>

bean>

/**

* 靜態工廠方法 : 直接呼叫某乙個類的靜態方法就可以返回 bean 的例項

*/public

class

staticca***ctory

//靜態工廠方法

public

static car getcar(string brand)

}

public

class

main

}

id="ca***ctory"

class="com.anqi.factory.instanceca***ctory">

bean>

id="car2"

factory-bean="ca***ctory"

factory-method="getcar">

value="ford">

constructor-arg>

bean>

/**

* 例項工廠方法 : 例項工廠的方法, 即需要建立工廠本身,

* 再 呼叫工廠的例項方法來返回 bean 的例項

*/public

class

instanceca***ctory

public car getcar(string brand)

}

public

class

main

}

id="car"

class="com.anqi.factorybean.ca***ctroybean">

name="brand"

value="bmw">

property>

bean>

import org.springframework.beans.factory.factorybean;

/** * 自定義的 factorybean 需要實現 factorybean 介面

*/public

class

ca***ctroybean

implements

factorybean

/*** 返回 bean 的物件

*/public object getobject() throws exception

/*** 返回 bean 的型別

*/public class getobjecttype()

/*** 是否是單例的

*/public

boolean

issingleton()

}

public

class main

Spring4 0初體驗(四)

小數 科學計數法 string可以使用單引號或者雙引號作為字串的定界符號 或 boolean 如 已經定義好的其他bean 例如 直接引用car這個定義好的bean。呼叫其他方法,還可以鏈式操作 呼叫靜態方法或靜態屬性 通過 t 呼叫乙個類的靜態方法,它將返回乙個 class object,然後再呼...

Spring4 0筆記整理九 Bean的生命週期

前面我們提到了在 spring ioc 容器中是可以管理bean 的生命週期,spring 允許在bean 生命週期的特定點執行定製的任務,比如說初始化和銷毀都可以稱為是特定點。我們可以在宣告bean的時候指定init method 和 destroy method 屬性,為 bean 指定初始化和...

Spring4 0筆記整理十 Bean後置處理器

bean後置處理器是在例項化 bean 之後的處理器,即當 spring ioc容器 例項化 bean 之後進行的增強的處理。實現了 beanpostprocessor 介面的類即可作為乙個bean後置處理器,它會依次呼叫bean後處理器的兩個方法對 bean 初始化方法的前後進行增強處理。spri...