#213 Prototype Bean внутри Singleton Bean

Компании:
Сбербанк
Темы:
SpringОсновы SpringКод ревью

Что будет выведено на экран?

@Configuration
public class Test3 {

    @Component
    class SingletonBean {

        @Autowired
        PrototypeBean prototypeBean;

        public UUID getId() {
            return prototypeBean.getId();
        }
    }

    @Component
    @Scope(BeanDefinition.SCOPE_PROTOTYPE)
    class PrototypeBean {

        private UUID id;

        @PostConstruct
        private void init() {
            id = UUID.randomUUID();
        }

        public UUID getId() {
            return id;
        }
    }

    public static void main(String[] args) {
        var context = new AnnotationConfigApplicationContext(Test3.class);
        var firstBean = context.getBean(SingletonBean.class);
        var secondBean = context.getBean(SingletonBean.class);

        System.out.println(firstBean.equals(secondBean));
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти