gpt4 book ai didi

java - 如何将参数从 getBean 传递到使用 @Bean 注释创建的 bean?

转载 作者:行者123 更新时间:2023-12-01 20:15:51 25 4
gpt4 key购买 nike

Spring 有一个接受参数的 getBean 重载。如何将这些参数传递给 bean 的 @Bean 创建函数?

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);
}

}

关于java - 如何将参数从 getBean 传递到使用 @Bean 注释创建的 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58954751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com