Spring Framework:可以在没有@Configuration的情况下创建相同@Component的两个bean吗?

问题描述 投票:0回答:1

我只是在使用Spring Web Apps进行一些实验,以便更好地了解框架的工作原理。

我通常使用@Configuration类和@Bean方法创建更多相同类的bean,并使用@Component(及其派生@Controller,@ Service,@ Repository)让Spring只注入带注释类的单个bean。

我的问题是,是否可以在不使用@Configuration和@Bean的情况下创建相同@Component类的更多bean?

例如:

@Component
public class MyClass{}

并在两个不同的bean中注入此类,例如:

@Autowired MyClass beanA;
@Autowired MyClass beanB;

我已经尝试过这样做了。当然我有两个实例指向内存中完全相同的bean。

java spring dependency-injection configuration autowired
1个回答
1
投票

在Spring中,默认情况下,除非另有说明,否则所有bean都具有singleton范围。因此,当您自动装配它时,您将获得相同的实例。

如果需要新实例,则需要使用@Scope指定

@Component
@Scope("prototype")
public class MyClass{}
© www.soinside.com 2019 - 2024. All rights reserved.