Spring Framework:可以在没有@Configuration的情况下创建相同@Component的两个bean吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Framework:可以在没有@Configuration的情况下创建相同@Component的两个bean吗?相关的知识,希望对你有一定的参考价值。
我只是在使用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。
答案
在Spring中,默认情况下,除非另有说明,否则所有bean都具有singleton
范围。因此,当您自动装配它时,您将获得相同的实例。
如果需要新实例,则需要使用@Scope
指定
@Component
@Scope("prototype")
public class MyClass{}
以上是关于Spring Framework:可以在没有@Configuration的情况下创建相同@Component的两个bean吗?的主要内容,如果未能解决你的问题,请参考以下文章
在不使用 Maven 的情况下,我在哪里可以下载 Spring Framework jar?