其實bean也是咱們最熟悉的,每註冊一個bean就是給spring的IOC容器中添加一個對象,在spring初始化的時候就已經幫咱們建立好了,咱們須要用的時候直接調用就好了。web
幾個重要的屬性介紹:spring
id:bean的惟一標識符,也便是對象的變量名websocket
class:屬性定義Bean的類型,並使用徹底限定的類名。session
name:功能至關於取別名(這裏的name能夠取多個別名)下面就是取多個別名的例子app
<bean id="user" class="com.xuan.pojo.User" name="user3,user4,user5,user6,user7">
<constructor-arg ref="student"></constructor-arg>
<constructor-arg ref="teacher"></constructor-arg>
</bean>
scope:bean的做用域socket
Scope | Description |
---|---|
singleton | (默認)爲每一個Spring IoC容器將單個bean定義的做用域限定爲單個對象實例。 |
prototype | Scopes a single bean definition to any number of object instances. |
request | 將單個bean定義的範圍限定爲單個HTTP請求的生命週期。也就是說,每一個HTTP請求都有一個在單個bean定義後面建立的bean實例。Only valid in the context of a web-aware Spring ApplicationContext . |
session | 將單個bean定義的範圍限定爲HTTP的生命週期Session 。Only valid in the context of a web-aware Spring ApplicationContext . |
application | 將單個bean定義的做用域限定爲的生命週期ServletContext。 Only valid in the context of a web-aware Spring ApplicationContext . |
websocket | 將單個bean定義的做用域限定爲的生命週期WebSocket 。 Only valid in the context of a web-aware Spring ApplicationContext . |
singleton(單例):容器只建立一個對象spa
prototype(原型):每一次從容器get的時候都建立一個新的對象prototype
怎麼用?code
使用ApplicationContext的getBean方法裏面傳入別名或者自己的名字(bean指定的id屬性)都是能夠獲取到制定的數據的。xml
<alias name="user" alias="user2"></alias>
何時用?
通常用於團隊開發,多個配置文件經過導入的方式實現整合。
<import resource="applicationContext.xml"></import>