Bean默認的是單例的.html
若是不想單例須要以下配置:
<bean id="user" class="..." singleton="false"/>spring
singleton就是配置這個bean是不是單例的,若是不寫,就是默認值true。session
註解:prototype
spring Bean生命週期htm
1.Bean的做用域能夠經過Bean標籤的scope屬性進行設置,Bean的做用域包括:
默認狀況下scope="singleton",那麼該Bean是單例,任何人獲取該Bean實例的都爲同一個實例;
scope="prototype",任何一個實例都是新的實例;
scope="request",在WEB應用程序中,每個實例的做用域都爲request範圍;
scope="session",在WEB應用程序中,每個實例的做用域都爲session範圍;blog
注意:在默認狀況下,Bean實例在被Spring容器初始化的時候,就會被實例化,默認調用無參數的構造方法。在其它狀況下,Bean將會在獲取實例的時候纔會被實例化。生命週期
2.Bean能夠經過指定屬性init-method指定初始化後執行的方法,以及經過指定屬性destroy-method銷燬時執行的方法。作用域
語法:<bean .... destroy-method="銷燬時調用的方法名" init-method="初始化後執行的方法名"/>get