springBean的作用域
- 1.Bean的作用域
- 2.常用的作用域
- 3.例子
- 3.1建立一個空的spring項目
- 3.2建立java檔案
- 3.3xml檔案
- 3.4運作結果
- 4.總結
1.Bean的作用域
1.單例-singleton
2.原型-prototype
3.request
4.session
5.globalSession
6.websocket
2.常用的作用域
單例和原型是通用的作用域,其餘的在網絡程式設計中能夠用到。
3.例子
3.1建立一個空的spring項目

3.2建立java檔案
package bean;
public class Bean {
public void say(){
System.out.println(this);
}
}
package client;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import bean.Bean;
public class Main {
public static void main(String[] args) {
String path = "resource/beans-";
@SuppressWarnings("resource")
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
path + "singleton.xml");
Bean bean = (Bean)applicationContext.getBean("bean");
bean.say();
bean = (Bean)applicationContext.getBean("bean");
bean.say();
applicationContext = new ClassPathXmlApplicationContext(path
+ "prototype.xml");
bean = (Bean)applicationContext.getBean("beanp");
bean.say();
bean = (Bean)applicationContext.getBean("beanp");
bean.say();
}
}
3.3xml檔案
beans-prototype.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="beanp" class="bean.Bean" scope="prototype">
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="bean" class="bean.Bean" scope="singleton">
</bean>
</beans>
3.4運作結果
bean.Bean@ae45eb6
bean.Bean@ae45eb6
bean.Bean@6a4f787b
bean.Bean@685cb137