Что такое весенние бобы в мире?
Мне еще предстоит найти высокоуровневое определение весенних бобов, которое я могу понять. Я часто вижу ссылки на них в документации и книгах Grails, но я думаю, что понимание того, что это такое, было бы полезно. Так что же такое весенние бобы? Как их можно использовать? Они имеют какое-то отношение к инъекции зависимости?
10 ответов:
объекты, которые образуют основу вашего приложения и которые являются управляемые весной IoC * контейнеры называются бобами. Боб-это объект, который создается, собирается и иным образом управляется a Весенний контейнер МОК. Эти компоненты создаются с помощью конфигурации метаданные, которые вы предоставляете контейнеру, например, в виде Определения XML.
подробнее о фасоли и области применения от SpringSource:
при создании определения компонента то, что вы на самом деле создаете, является рецепт создания реальных экземпляров класса, определенного этим компонентом определение. Идея о том, что определение боба является рецептом, важна, потому что это означает, что, как и класс, вы потенциально можете иметь множество экземпляров объектов, созданных из одного рецепта.
вы можете контролировать не только различные зависимости и конфигурации значения должны быть подключены к объекту, который создается из конкретное определение компонента, но также и область создаваемых объектов из конкретного определения Боба. Этот подход является очень мощным и дает вам гибкость для выбора области действия объектов, которые вы создайте через конфигурацию вместо того, чтобы "выпекать" область объекта на уровне класса java. Бобы могут быть развернуто в одной из нескольких областей
*МОК: инверсия Контроль
Spring beans-это просто экземпляры объектов, которые управляются контейнером Spring, а именно, они создаются и соединяются каркасом и помещаются в "мешок объектов" (контейнер), откуда вы можете получить их позже.
часть "проводки "есть то, что инъекция зависимостей все о том, что это означает, что вы можете просто сказать:" мне понадобится эта вещь", и структура будет следовать некоторым правилам, чтобы получить вам правильный экземпляр.
для тех, кто не привык Весна, я думаю статья Википедии Spring имеет хорошее описание:
центральное место в весенне системы является ее инверсией контейнера управления , что обеспечивает последовательные средства настройки и управления Java объекты, использующие отражение. Контейнер отвечает за управление жизненные циклы конкретных объектов: создание этих объектов, вызов их методы инициализации и настройка этих объектов с помощью проводки они вместе.
объекты, созданные контейнером, также называются управляемые объекты или фасоль. Контейнер можно настроить путем загрузки XML-файлов или обнаружение определенных аннотаций Java в классах конфигурации. Эти источники данных содержат определения компонентов, которые обеспечивают информация, необходимая для создания компонентов.
объекты могут быть получены с помощью поиск зависимостей или инъекции зависимостей. поиск зависимостей это шаблон, где вызывающий абонент запрашивает объект контейнера для объекта с определенным именем или конкретный тип. инъекции зависимостей это шаблон, где контейнер передает объекты по имени другим объектам, через любые конструкторы, свойства, или заводские методы.
Ну вы поняли это частично. Вы должны адаптировать бобы в соответствии с вашими потребностями и сообщить Spring container, чтобы управлять им, когда это необходимо, используя методологию populalrly, известную как IoC (инверсия управления) придуман Мартин Фаулер, также известный как Инъекции Зависимостей (DI).
вы проводите бобы таким образом, чтобы вам не нужно было заботиться о создании экземпляра или оценивать какую-либо зависимость от Боба. Это популярно известный как Принцип Голливуда.
Google-лучший инструмент для изучения этого в дополнение к ссылкам, которые вы получите здесь в этом вопросе. :)
сначала разберемся весной:
Весна облегченные и гибкие рамки.
Bean: - это объект, который создается, управляется и уничтожается в контейнере Spring. Мы можем ввести объект в контейнер Spring через метаданные (либо xml, либо аннотацию), который называется инверсией управление.
аналогия: Предположим, у фермера есть сельскохозяйственные угодья, обрабатываемые семенами (или бобами). Здесь, фермер рамки весны, земля сельхозугодий контейнер весны, фасоли фасоли весны, культивируя обработчики весны.
как жизненный цикл фасоли, фасоли весны тоже имея его собственный жизненный цикл.
следующая последовательность жизненного цикла Боба весной:
Instantiate: сначала контейнер spring находит определение компонента из XML-файла и создает экземпляр компонента.
заполнить свойства: используя инъекцию зависимостей, spring заполняет все свойства, как указано в определении компонента.
Set Имя компонента: если компонент реализует
BeanNameAwareинтерфейс, spring передает идентификатор Боба вsetBeanName()метод.Set Bean factory: если Bean реализует
BeanFactoryAwareинтерфейс, Весна передает beanfactory кsetBeanFactory()метод.предварительная инициализация: также называется пост-процесс Боба. Если есть какие-либо бобовые BeanPostProcessors, связанные с Бобом, Spring вызывает
postProcesserBeforeInitialization()метод.инициализировать бобы: если Боб реализует
IntializingBean,егоafterPropertySet()метод называется. Если компонент имеет объявление метода init, вызывается указанный метод инициализации.пост-инициализация: - если есть какие-либо
BeanPostProcessorsсвязанные с Бобом, ихpostProcessAfterInitialization()методы будут вызываться.готово к использованию: теперь Боб готов к использованию приложением
уничтожить: если Боб реализует
DisposableBean, он будет вызыватьdestroy()метод
фасоль находятся в центре весны. Они являются стандартными объектами Java, созданными и управляемыми Spring.
фасоль в основном используются для:
- каким-то образом настроить Spring (параметры подключения к базе данных, безопасность и т. д.)
- избегайте зависимостей жесткого кодирования с помощью инъекции зависимостей, Так что наши классы остаются самодостаточными и тестируемыми
весна имеет контейнер IoC который носит мешок фасоли; творение поддерживает и удаление обязанности контейнера весны. Мы можем положить фасоль внутри К весне путем связывать проволокой и автоматическая проводка. Проводка означает, что мы вручную настраиваем его в XML-файл, а" автоматическая проводка " означает, что мы помещаем аннотации в файл Java, а затем Spring автоматически сканирует корневой контекст, где файл конфигурации java, делает его и помещает в сумку Spring.
вот деталь URI где вы получили дополнительную информацию о бобах
Spring beans - это просто экземпляры объектов, управляемые контейнером Spring IOC.
контейнер весны МОК носит мешок фасоли.Создание,обслуживание и удаление бобов-это обязанности Spring Container.
мы можем положить фасоль внутри К весне путем связывать проволокой и автоматическая проводка.
проводка означает, что мы вручную настраиваем его в XML-файл.
Авто Проводки значит, мы помещаем аннотации в файл Java, а затем Spring автоматически сканирует корневой контекст, где находится файл конфигурации java, делает его и помещает в сумку Spring.
весенние бобы-это классы. Вместо создания экземпляра класса (с помощью
new), вы получаете экземпляр какbeanприведено к типу класса из контекста приложения, где компонент-это то, что вы настроили в конфигурации контекста приложения. Таким образом, все приложение поддерживает экземпляр singleton-scope во всем приложении. Все компоненты инициализируются в соответствии с их порядком конфигурации сразу после создания экземпляра контекста приложения. Если вы не получаете никаких бобы в вашем приложении все экземпляры бобов уже созданы в момент после создания контекста приложения.
весной, те объекты, которые образуют основу вашего приложения и которые управляются Spring IoC контейнер называют фасолью. Боб-это просто объект, который создается, собирается и иначе управляется с помощью контейнера Spring IoC;
для весны все объекты-бобы! Основным шагом в рамках Spring является определение ваших объектов как бобов. Бобы-это не что иное, как экземпляры объектов, которые будут созданы Spring framework, посмотрев на их определения классов. Эти определения в основном формируют метаданные конфигурации. Затем платформа создает план, для которого должны быть созданы объекты, какие зависимости должны быть установлены и введены, область действия вновь созданного экземпляра и т. д., на основе этих метаданных конфигурации.
метаданные могут быть предоставлены в простом XML-файле, как и в первой главе. В качестве альтернативы можно было бы предоставить метаданные в виде аннотации или конфигурации Java.
книги: Просто Весна




Comments