当前位置: 首页 > 面试题库 >

Spring bean范围

璩俊雅
2023-03-14
问题内容

有人可以解释一下我一直只使用“原型”的Spring bean的作用域吗,但是还有其他参数可以代替吗?

我在说什么的例子

<bean id="customerInfoController" class="com.action.Controller" scope="prototype">
    <property name="accountDao" ref="accountDao"/>
    <property name="utilityDao" ref="utilityDao"/>
    <property name="account_usageDao" ref="account_usageDao"/>  
</bean>

问题答案:

从Spring规范开始,支持五种类型的bean作用域:

1.单身人士(默认*)

每个Spring IoC容器将单个bean定义的作用域限定为单个对象实例

2.原型

将单个bean定义的作用域限定为任意数量的对象实例。

3.要求

将单个bean定义的范围限定为单个HTTP请求的生命周期;也就是说,每个HTTP请求都将在单个bean定义的后面创建自己的bean实例。仅在可感知网络的Spring
ApplicationContext上下文中有效。

4.会议

将单个bean定义的范围限定为HTTP会话的生命周期。仅在可感知网络的Spring ApplicationContext上下文中有效。

5.全球会议

将单个bean定义的作用域限定为全局HTTP会话的生命周期。通常仅在portlet上下文中使用时才有效。仅在可感知网络的Spring
ApplicationContext上下文中有效。

  • default表示在<bean />标记中未明确提供范围的情况。在这里阅读有关它们的更多信息:http : //static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html


 类似资料:
  • 我想制作一个AngularJS Spring MVC Hibernate MySQL应用程序。我不知道如何配置SpringBean,这样我就可以对我的存储库和实体类使用自动连接的注释。 pom.xml依赖: 实体类: 的存储库: 的控制器: 配置类:

  • 有没有办法在刷新Spring上下文后找出bean创建顺序(或至少依赖顺序)? 只要简单的bean定义顺序就可以了。我不想要他们注册的顺序。我想要创建它们的顺序(依赖关系树)

  • 问题内容: 我有一个关于Eclipse,Wicket,Spring,Hibernate的项目。一切正常,除了:当我尝试 服务变量为空?在我使用此构造的任何其他地方,“ service”都不为null且运行良好。请帮我解决这个问题。 问题答案: @SpringBean仅在Component的任何子类中起作用。 您需要在构造函数中执行以下操作 小门1.4 小门1.5+ 参见“通用IDataProvid

  • 我有豆子,例如 服务(特定服务)是使用抽象方法初始化()扩展抽象类MyService并使用方法特定的Logic()实现接口MyInterface的类。 因此,管理器在服务对象上调用方法init(),如下所示: 但当bean初始化时,我有以下问题: 无法转换“java.util”类型的属性值。将LinkedHashSet设置为所需类型“java.util”。设置“for property”“serv

  • 我创建了一个简单的SpringBoot应用程序。有两类: 1) ManagedBean类 2) NonmangedBean:它具有ManagedBean类的依赖项 还有第三个服务类,它有Rest结束点。 首先,我调用 /processBeanendpoint,将具体对象的NonmangedBean类和自动连接它。(在这里,我知道bean将生活在Spring Container中,直到我关闭服务器。

  • 我写了一个示例Spring启动应用程序,它无法运行消息 `描述:com中的customerRepository字段。hibernatetutorial。服务CustomerServiceImpl需要“com”类型的bean。hibernatetutorial。存储库。找不到CustomerRepository“”。 操作:考虑在您的配置中定义类型为“com.hibernatetutorial.re

  • 我在spring boot应用程序中用groovy(spock)编写了一个集成测试。其中一个应用程序bean称为,它具有以下方法: 在类中还有其他方法。在我的集成测试中,我只想模拟该特定方法的响应。以以下方式: 我希望进行其他验证,但不是这次。基本上,我想实现这一点,但与斯波克。我想取消执行方法

  • 我有几个EJB3。x无状态会话bean,未定义接口。我需要将这些bean注入到Springbean中,但我无法这样做。 无接口EJB: 我的豆子: 还有我的豆子。xml 在初始化Spring容器时,我得到以下错误: 异常本身非常清楚——spring容器期望MyBean有一个本地接口视图作为其业务接口;但是,我没有(也不能介绍)。 非常感谢您的帮助!