Spring ma przeciążenie getBean, które akceptuje parametry. Jak mogę przekazać te parametry do funkcji tworzenia @Bean dla fasoli?
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();
}
}
0
Gonen I
20 listopad 2019, 15:49
1 odpowiedź
Spring przekaże argumenty jako parametry do funkcji @Bean, a stamtąd przekaże je do konstruktora twojego beana,
@Configuration
class MyConfig {
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
Person createPerson(String name)
{
return new Person(name);
}
}
0
Gonen I
20 listopad 2019, 15:49
To powszechne nieporozumienie dotyczące schizofrenii
– Gonen I
20 listopad 2019, 15:57
Podobne pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].