Как получить доступ к ранее созданному компоненту в компоненте Prototype? - PullRequest
0 голосов
/ 06 июля 2019

Я хочу создать бин с уникальным именем, которое я дал в любое время. Я также хочу создавать новый экземпляр с этим уникальным именем каждый раз, когда я его называю. Я просто хочу достать старый экземпляр компонента с таким уникальным именем, созданным в некоторых случаях. Если бин уже был создан под этим именем, я хочу взять старый боб. Я нашел прототип для этого. Но каждый раз, когда я вызываю bean-компонент, он создает новый экземпляр. И я не мог найти старый bean-компонент обратно.

Пример:

public class MyPrototypeBean {

private String dateTimeString = LocalDateTime.now().toString();

public void showMessage(){
    System.out.println("Hi, the time is "+ dateTimeString);
   }
}


@Configuration
public class AppConfig {

@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public MyPrototypeBean prototypeBean() {
    return new MyPrototypeBean();
}

public static void main(String[] args) throws InterruptedException {
    AnnotationConfigApplicationContext context =
            new AnnotationConfigApplicationContext(AppConfig.class);

    MyPrototypeBean bean4 = context.getBean(MyPrototypeBean.class);
    bean4.showMessage();
    Thread.sleep(1000);

    MyPrototypeBean bean5 = context.getBean(MyPrototypeBean.class);
    bean5.showMessage();
    Thread.sleep(1000);

    MyPrototypeBean bean6 = context.getBean(MyPrototypeBean.class);
    bean6.showMessage();
    Thread.sleep(1000);
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...