Spring中bean標簽的屬性和值:
<bean name="user" class="com.pojo.User" init-method="intMethod" destroy-method="destoryMethod" lazy-init="false" scope="singleton"> <property name="name" value="張三"></property> <property name="address" value="上海"></property> <property name="age" value="25"></property> <property name="car" ref="car"></property> </bean> <bean name="car" class="com.pojo.Car"> <property name="brand" value="大眾"></property> <property name="price" value="12"></property> </bean>
id屬性:用於指定Bean的名稱,在Bean被依賴時使用,在獲取Bean時使用等
name屬性:用於指定Bean的別名
class屬性:用於指定Bean的來源,即創建要創建的Bean的class類(需要全限定名)
init-method屬性:用於指定當前Bean的初始化方法,在Bean實例創建好后,首先會調用其指定名稱的方法
destory-method屬性:用於指定當前Bean的銷毀方法,在Bean即將被銷毀之前會自動調用該屬性指定的方法,bean依賴於容器,容器銷毀bean銷毀
lazy-init屬性:用於指定當前Bean的初始化時間,
若值為true表示在初次調用時才會自動創建實例並初始化,
false表示在IoC容器創建的時候就會完成創建和初始化,默認是false
scope屬性:用於指定bean的模式,
singleton:是單例模式,容器只創建一個對象。
prototype:為非單例模式,容器創建多個對象,但容器不會去逐個銷毀,默認是單例對象,
request: web項目中spring創建一個bean對象,將對象存到request域中,
session: web項目中將對象存到session域中,
globalSession:web項目中,應用在prolet環境,如果沒有prolet環境那么globalSession相當於session
public class User { @Autowired private String name; private String address; private int age; public User() { System.out.println("User無參構造方法..."); } public void intMethod() { System.out.println("User初始化....."); } public void destoryMethod() { System.out.println("User銷毀....."); } }