spring - 在 Spring Boot 中初始化自动装配服务
问题描述
我正在使用单个自动装配服务运行 100 个 JUnit 测试。我有一个名为 createArray 的服务,该服务在 ArrayList 中添加值。问题是值保留在数组列表中。当一个新的测试用例运行时,它会将自己的值添加到数组中。
每当新的测试用例运行时,我想清除自动装配的 creatArray 对象。
解决方案
Spring bean 默认情况下是单例的,这就是发生这种情况的原因。为了有不同的行为,您应该检查不同的“bean 范围”。这是对它的快速解释: https ://www.tutorialspoint.com/spring/spring_bean_scopes.htm
我相信,如果您使用原型范围(根据本教程),您最终可能会得到您想要的解决方案。
关于如何做到这一点,这实际上取决于您的 bean 是由 xml 还是由注释定义的。
你可以查谷歌很多例子。
如果您使用 XML 应该很容易,在 bean 上添加"scope=prototype"
. 用于注解下@Bean
的注解@Scope("prototype")
推荐阅读
- json - Spring WebFlux 功能端点 + @JsonView 怎么样?
- python - Python 错误:AttributeError:“str”对象没有属性“k”
- android - 强制通知声音,即使静音
- ruby-on-rails - Rails 5.2-无法从 respond_to 块中访问调用控制器方法
- spring-boot - Spring Boot TLS
- sql - 逻辑操作数的 SQL 操作顺序
- d3.js - 将数据点和文本添加到带线条的多条形图上的线条中
- dynamics-crm - Plugin Execution Hals 恰好创建了 33 条记录后,是什么原因?
- sql - 带有画廊、类别为年份和子类别的数据库新闻
- google-maps - 在 React Native 应用程序中提供 HTML 页面并执行其包含的 Javascript