Spring 会话范围的 bean 作为原型 bean 中的依赖项?

2024-04-14

我多次阅读了有关这个主题的 spring 文档,但有些事情我仍然不清楚。 文件指出:

例如,如果要将 HTTP 请求作用域 bean 注入到另一个 bean 中,则必须注入 AOP 代理来代替该作用域 bean。也就是说,您需要注入一个代理对象,该对象公开与作用域对象相同的公共接口,但也可以从相关作用域(例如 HTTP 请求)检索真实的目标对象,并将方法调用委托给真实对象。

配置示例如下:

<bean id="userPreferences" class="com.foo.UserPreferences" scope="session">
     <aop:scoped-proxy/>
</bean>

<bean id="userManager" class="com.foo.UserManager">
     <property name="userPreferences" ref="userPreferences"/>
</bean>

Here, 用户管理器bean 的作用域为单例。所以,我想知道这个代理的事情是否适用only到单例范围的bean,也就是说,如果你想将Web范围的bean注入到单例bean中,或者它也适用于原型bean?例如,如果用户管理器被定为原型?

我问这个问题是因为我看到一些代码将会话范围的 bean 注入到没有 aop-proxy 的原型中,但我不确定这是否正确......特别是,那些是某些网络应用程序中的 DAO bean,范围作为session,并且它们被注入到原型范围的控制器中,用于多用户环境。这是正确的方法吗?一般来说,DAO/Service bean 在 Web 应用程序环境中的范围应该如何?

任何想法将不胜感激。


您始终可以将更广泛范围的 bean(例如单例)注入到更窄范围的 bean(例如会话范围 bean)中,但相反,您需要一个范围代理。

因此,将会话范围 bean 注入原型范围 bean 的示例很好,因为会话范围比原型范围“更宽”。

如果你弄错了,Spring 会告诉你。如果它不抱怨,那么你就不需要它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 会话范围的 bean 作为原型 bean 中的依赖项? 的相关文章

  • Spring中需要多个相同类型的bean

    将其标记为重复之前的请求 我浏览了论坛 但在任何地方都找不到该问题的解决方案 我正在使用 Spring 3 2 编写代码 一切都是纯粹基于注释的 该代码接收从不同 XSD 文件派生的 XML 文件 所以我们可以说 有五个不同的 XSD A1
  • Spring数据异常处理

    我正在使用 Spring Data JPA 开发一个项目 我需要处理 JpaRepository 方法调用中的一些异常 在下面的代码中 我需要拦截主键违规错误 但无法直接捕获异常 就我而言 当发生此类异常时 存储库层 JpaReposito
  • Elasticsearch TransportClient NetworkPlugin NoClassDefFoundError

    我期待将 Elasticsearch 集成到 Spring Boot Web 应用程序中 这是创建传输客户端的配置 Configuration public class ElasticsearchConfig private Transpo
  • 设置 JPA 可分页对象的默认页面大小

    我有一个 PagingandSorting 存储库 它有一个接受可分页对象的方法 我还有一个通过 URL 接受可分页对象的控制器 我的用例是 如果用户在 URL 中指定页面大小参数 我必须为可分页对象采用该值 如果他没有提及 则采用默认值
  • MS Access DAO 连接在退出时放弃更改

    因此 我有一个 Access 表单 我在其中使用此 VBA 代码以及与 MySQL 数据库的 DAO 连接 一切都很好 但如果用户关闭表单而不单击 保存 按钮 新记录无论如何都会保存 所以我正在寻找的是 是否有任何方法可以在关闭事件时阻止将
  • Spring Security“拒绝执行来自...的脚本”

    我正在 HTML 文件 thymeleaf 模板 中使用 Spring Security 和 Bootstrap 构建 Spring MVC 应用程序 Spring Security部分基于Spring Guide对于春季安全 http s
  • Spring MVC - 从 JSP 提交对象

    我有一个显示客户列表的 JSP ArrayList searchResults 我希望能够选择其中之一 并将其 提交给 Spring MVC 控制器 但是 我似乎无法传递所选对象 只能传递它的属性 例如 customerId 我真的需要传递
  • 我是否应该将 CachingConnectionFactory 与 hornetq 2.4.1 一起使用

    根据有关在 hornetq 中使用 JMSTemplate 的长期信息 我们在连接到服务器时一直使用 CachingConnectionFactory 这是一个示例配置 与我们正在使用的配置非常相似
  • 错误org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名为“entityManagerFactory”的bean时出错

    我想将我的 java CRUD 应用程序与红色节点连接 但当我运行 Java 应用程序时 我总是收到此错误 我试图解决它 但我不能 这是错误 2022 05 10 11 33 43 959 INFO 12192 restartedMain
  • 用于多部分/表单数据的 POSTMAN

    如何将 POSTMAN 用于 Multipart form data 它具有自定义标头来测试我的控制器 该控制器采用 2 个文件作为参数 public controller MultipartFile files POST HTTP 1 1
  • 如何重定向到另一个 URI 并访问先前 modelAndView 中的对象

    我有以下代码 我想访问 nextPage jsp 上的 booleanValueObj 这是怎么做到的 该对象并不总是可用于每个请求的 nextPage 方法 因此 requestParam 似乎不合适 RequestMapping met
  • 错误:“连接被拒绝:连接。验证连接属性

    与主机 localhost 端口 1433 的 TCP IP 连接失败 错误 连接被拒绝 连接 验证连接属性 确保 SQL Server 实例正在主机上运行并接受端口上的 TCP IP 连接 确保到该端口的 TCP 连接未被防火墙阻止 我已
  • Thymeleaf:用
    替换换行符

    我有一个字段
  • 将 BeanFactory 注入 Bean

    我想注入一个SpringBeanFactory到由同一个创建的 BeanBeanFactory有什么办法可以这样做吗 顺便说一句 我正在开发一个网络应用程序 如果没有 我知道我可以通过以下方式获得 BeanFactoryRequestCon
  • Spring JTA 事务与 Websphere 的 JPA 和 jndi 数据源

    我有多个数据源和一个配置有 JPA 的数据库 我正在使用 websphere 7 我希望将所有这些数据源配置为全局事务 我正在使用下面的 spring 配置 但事务没有按预期的全局事务工作 如果一个数据库发生故障 则另一个数据库将被提交 这
  • SQL 查询中的外语/重音字符

    我正在使用 Java 和 Spring 的 JdbcTemplate 类在 Java 中构建一个 SQL 查询来查询 Postgres 数据库 但是 我在执行包含外来 重音字符的查询时遇到问题 例如 修剪后的 代码 JdbcTemplate
  • spring 类路径资源中的相对路径

    我有一堆 spring 配置文件 所有这些文件都位于各个子包的 META INF 目录下 我一直在使用如下所示的导入
  • spring boot feign 客户端获取 HTTP 404

    我目前正在检查如何在我的项目之一中使用 Feign 作为声明式 REST 客户端 以下是假客户端 FeignClient name SEARCHCABMS configuration AppFeignConfiguration class
  • Jackson序列化配置

    我在 Spring 3 MVC 应用程序中使用 Jackson JSON 为了不序列化每个日期字段 我创建了一个使用特定日期格式的自定义对象映射器 Component jacksonObjectMapper public class Cus
  • Spring - 捕获bean创建异常

    我想在我的代码中捕获 bean 实例化异常 我有什么选择 一种方法是使用基于 Java 的容器配置 Configuration public class AppConfig Bean public SomeBean someBean try

随机推荐