在 Spring 中使用 @Component 注释创建特定 class 的多个对象

Create multiple objects of a particular class using @Component annotation in Spring

我们能否使用 @Component 注释创建特定 class(例如 class 学生)的多个对象,因为只能将 1 个字符串传递给 @Component注释(@Component("Student1"))?

没有。 @Component 注释告诉 Spring 应该创建 class 的单个实例。您在注释中传递的值反映了“Spring bean”的名称。

如果要创建多个实例,可以在@Configuration中使用@Bean注解 class:

@Configuration
public class MyConfiguration {

  @Bean
  public Student student1() {
    return new Student();
  }

  @Bean
  public Student student2() {
    return new Student();
  }
}

此代码将在 Spring 上下文中创建 2 个 Spring bean。一个名字是 student1,另一个名字是 student2

请注意,您通常不会对 Student 这样的对象执行此操作,这些对象可能是实体(如果您在应用程序中使用数据库,很可能反映了数据库中的内容)。