在 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
这样的对象执行此操作,这些对象可能是实体(如果您在应用程序中使用数据库,很可能反映了数据库中的内容)。
我们能否使用 @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
这样的对象执行此操作,这些对象可能是实体(如果您在应用程序中使用数据库,很可能反映了数据库中的内容)。