Как контейнер IOC помогает поддерживать объекты, создавая их один раз и вводя при необходимости ???
Прочитайте ссылку на источник о Области применения бобов и о Ленивая инициализация :
По умолчанию ApplicationContext реализации охотно создавать и настроить все компоненты Singleton как часть процесса инициализации. Как правило, эта предварительная реализация желательно, потому что ошибки в конфигурация или окружение среда обнаружены немедленно, в отличие от часов или даже дни спустя. Когда это поведение не желательно, можно помешать предварительная реализация синглтон-бина пометив определение бина как отложенная инициализация. Ленивый инициализированный bean сообщает контейнеру IoC создать экземпляр бина, когда он первый запрашивается, а не при запуске. В XML это поведение контролируется атрибут lazy-init на элемент; например:
По умолчанию ApplicationContext реализации охотно создавать и настроить все компоненты Singleton как часть процесса инициализации. Как правило, эта предварительная реализация желательно, потому что ошибки в конфигурация или окружение среда обнаружены немедленно, в отличие от часов или даже дни спустя. Когда это поведение не желательно, можно помешать предварительная реализация синглтон-бина пометив определение бина как отложенная инициализация. Ленивый инициализированный bean сообщает контейнеру IoC создать экземпляр бина, когда он первый запрашивается, а не при запуске.
В XML это поведение контролируется атрибут lazy-init на элемент; например:
<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/> <bean name="not.lazy" class="com.foo.AnotherBean"/>
Это зависит от того, как вы настроили конкретную зависимость, вы можете иметь синглтон, на запрос, http и т. Д. Жизненные циклы