Пружинная электропроводка с параметром - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь выполнить автоматическую разводку с использованием динамического параметра, я знаю, что мы можем объявить класс с помощью @component и сделать класс доступным для автоматической разводки, но что если у меня есть класс с параметризованным construtor.Могу ли я использовать автоматическое подключение и инициализировать объект с параметром?Пожалуйста, смотрите ниже фрагмент.

@Component
public class A{
   public A(Object B){
     // do something
   }
}


public class C{
  @Autowire
  private A a;

  public foo(){
      B b = getBfromSomewhere();
     // create object of A using parameter B
     // like a = new A(b);
      }

  }

1 Ответ

0 голосов
/ 04 марта 2019

Я получил ответ после прохождения аннотации конфигурации.Сначала нужно сказать Spring, как он должен создать бин, например.

@Configuration
public class Appconfig{

 @Bean(name="a")
 public A getA(B b){
   return A(b); 
 }
} 

Позже, когда вы его используете.

public class C{
  @Autowire
  private BeanFactory factory;

   public foo(){
     B b = getBfromSomewhere();
     A a    = factory.getBean(A.class,b)

   }

}
...