Java 如何将参数从getBean传递到使用@bean注释创建的bean?
Spring有一个接受参数的getBean重载。 如何将这些参数传递给@Bean的@Bean创建函数Java 如何将参数从getBean传递到使用@bean注释创建的bean?,java,spring,annotations,javabeans,Java,Spring,Annotations,Javabeans,Spring有一个接受参数的getBean重载。 如何将这些参数传递给@Bean的@Bean创建函数 class Person { String name; Person(String name) { this.name = name; } } public class SpringAnnotationMain { public static void main(String[] args) { AnnotationC
class Person
{
String name;
Person(String name) {
this.name = name;
}
}
public class SpringAnnotationMain {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringAnnotationMain.class);
Person x = ctx.getBean(Person.class, new Object[] {"Alice"});
System.out.println(x.name);
ctx.close();
}
}
Spring将参数作为参数传递给@Bean函数,并从那里传递给Bean的构造函数
@Configuration
class MyConfig {
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
Person createPerson(String name)
{
return new Person(name);
}
}
这是对精神分裂症的常见误解