我知道在 servlet 中有很多范围(请求、会话……)。
- 它与 Spring MVC 有何关联?
- 如何使用 Spring 样式使用需要的范围?
我不想直接使用HttpRequest
and HttpResponse
。
我知道在 servlet 中有很多范围(请求、会话……)。
我不想直接使用HttpRequest
and HttpResponse
。
• Singleton:这将 bean 定义范围限定为每个 Spring IoC 容器的单个实例(默认)。
• 原型:这将单个bean 定义限定为具有任意数量的对象实例。
Message aMessage; //object
// singleton bean scope
aMessageA = new Message();
aMessageA = (Message) applicationContext.getBean("message");
aMessageA.setText("message1 :D");
System.out.println(aMessageA.getText());
aMessageB = new Message();
aMessageB = (Message) applicationContext.getBean("message");
System.out.println(aMessageB.getText());
// result will be the same for both objects because it's just one instance.
// Prototype bean scope. scope="prototype"
aMessageA = new Message();
aMessageA = (Message) applicationContext.getBean("message");
aMessageA.setText("message :D");
System.out.println(aMessageA.getText());
aMessageB = new Message();
aMessageB = (Message) applicationContext.getBean("message");
System.out.println(aMessageB.getText());
/* first object will print the message, but the second one won't because it's a new instance.*/
您可以配置在配置中连接的 bean 的范围
示例配置:
<bean id="bean-id-name" class="abc.xyz.classname" scope="singleton">
关于spring bean范围的参考: http: //static.springsource.org/spring/docs/3.2.4.RELEASE/spring-framework-reference/html/beans.html#beans-factory-scopes
Spring MVC 提供了更多的范围,如请求、会话、全局会话。
您可以注释 spring bean 以使用正确的范围。请按照以下链接查找更多信息。
http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-scopes