具體**
<?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...