首页 > 解决方案 > 在 Spring Boot 中初始化自动装配服务

问题描述

我正在使用单个自动装配服务运行 100 个 JUnit 测试。我有一个名为 createArray 的服务,该服务在 ArrayList 中添加值。问题是值保留在数组列表中。当一个新的测试用例运行时,它会将自己的值添加到数组中。

每当新的测试用例运行时,我想清除自动装配的 creatArray 对象。

标签: springspring-boot

解决方案


Spring bean 默认情况下是单例的,这就是发生这种情况的原因。为了有不同的行为,您应该检查不同的“bean 范围”。这是对它的快速解释: https ://www.tutorialspoint.com/spring/spring_bean_scopes.htm

我相信,如果您使用原型范围(根据本教程),您最终可能会得到您想要的解决方案。

关于如何做到这一点,这实际上取决于您的 bean 是由 xml 还是由注释定义的。

你可以查谷歌很多例子。

如果您使用 XML 应该很容易,在 bean 上添加"scope=prototype". 用于注解下@Bean的注解@Scope("prototype")


推荐阅读