@ Lazy не является областью применения. Чтобы ответить на ваш вопрос, вам сначала нужно понять взаимосвязь между областью действия и конкретизацией.
Singletons (область по умолчанию) создаются один раз для каждого контейнера (например, при запуске для webapp). Прототипы создаются один раз для инъекций (каждый раз, когда класс получает бит).
@ Lazy сообщает Spring, что не хочет создавать бобы. Для синглтонов это означает, что он не будет создан при запуске, а будет создан после того, как он будет введен в первый раз. Это не влияет на прототип, поскольку они не создаются до тех пор, пока они не будут введены.
Таким образом, @Lazy применим только к одиночным. Если ленивый синглтон вводится не-ленивым синглэном (который создается при запуске), то @Lazy ничего не делает эффективно.
Примечание: @Lazy может также влиять на другие области, такие как запрос, сеанс и т. Д. Возможно, вы используете прокси-сервер для тех, кто будет технически контролировать фактический объем/лень.
Для получения дополнительной информации о сфере применения, см Spring в документации:
http://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch04s04.html
Примечание «, что это не имеет смысла для прототипа бобов - они не могут быть охотно инициализированы, так что нет необходимости отмечать они ленивы ». http://stackoverflow.com/questions/2365677/creating-lazily-initialized-spring-beans-using-annotation-based-configuration – SaudiD3mon
Большое спасибо за ответ, который имеет смысл сейчас – user1999453