在Spring中裝配bean的基本xml配置
在spring容器內(nèi)拼湊bean叫作裝配。裝配bean的時(shí)候,你是在告訴容器,需要哪些bean,以及容器如何使用依賴(lài)注入將它們配合在一起。
理論上,裝配bean可以從任何資源獲得,包括屬性文件,關(guān)系數(shù)據(jù)庫(kù)等,但xml是最常見(jiàn)的spring 應(yīng)用系統(tǒng)配置源。Spring中的幾種容器都支持xml配置使用裝配bean,包括:
XmlBeanFactory ,
ClassPathXmlApplicationContext ,
FileSystemXmlApplicationContext ,
XmlWebApplicationContext
基本的xml配置包括如下幾個(gè)方面:
1.添加一個(gè)bean
2.設(shè)置bean的屬性
2.1 手動(dòng)設(shè)置
2.1.1 通過(guò)Setter方法
2.1.2 通過(guò)構(gòu)造器
2.2 自動(dòng)設(shè)置
xml配置其中bean的屬性即為bean里的成員變量,這些成員變量值的獲得可以通過(guò)setter方法,例如某個(gè)屬性為name,則setter方法為 setName(String name);或者通過(guò)構(gòu)造器在類(lèi)被實(shí)例化時(shí)初始化。Setter方法(例如setName方法)或者構(gòu)造器的調(diào)用都可以通過(guò)在xml文件里進(jìn)行配置,從而實(shí)現(xiàn)讓spring容器來(lái)自動(dòng)進(jìn)行。
1.添加一個(gè)bean,以下是一個(gè)例子:
- <bean
- id = “mybean”
- Class = “blog.spring.MyBean”
- Singleton = “false”
- init-method = “initMethod”
- destroy-method = “destroyMethod”
- autowire = “autowire type”
- />
下面是對(duì)該標(biāo)簽里各個(gè)屬性的解釋?zhuān)?BR>Id : 標(biāo)識(shí)該bean的名稱(chēng),通過(guò)factory.getBean(“id”)來(lái)獲得實(shí)例。
Class : 該bean的類(lèi)路徑。
Singleton : 默認(rèn)為true,即單實(shí)例模式,每次getBean(“id”)時(shí)獲取的都是同
一個(gè)實(shí)例,如果設(shè)置為false,即原型模式,則每次獲取的是新創(chuàng)建的實(shí)例。
Init-method : 在bean實(shí)例化后要調(diào)用的方法(bean里定義好的方法)。
Destroy-method : bean從容器里刪除之前要調(diào)用的方法。
Autowire : 其屬性要通過(guò)何種方法進(jìn)行屬性的自動(dòng)裝配。
對(duì)于上述的各個(gè)屬性,id和class是必要的,其他的則可以省略。例如如果設(shè)置了autowire的值,則表明需要自動(dòng)裝配,否則是手動(dòng)裝配。
【編輯推薦】