Использование конфигурации Bean XML File - PullRequest
0 голосов
/ 13 июля 2020

Я новый пользователь Spring framework. Я столкнулся с некоторой путаницей в понимании разницы между основной пружинной структурой и пружинной загрузкой. Насколько я понимаю, Spring boot - это фреймворк, который автоматически выполняет первоначальную настройку (например, настройка зависимостей Maven и загрузка файлов jar) и поставляется со встроенным сервером Tomcat, который делает его готовым к развертыванию всего за один щелчок. Spring MVC требует ручной настройки. Все учебные пособия, которые я смотрел для ядра Spring, показывают конфигурацию bean-компонентов с использованием bean-фабрики, которая настраивает bean-компоненты с помощью файла. XML. При загрузке Spring этот файл конфигурации bean-компонента отсутствует. У меня вопрос, какова польза от этого файла конфигурации bean-компонента? Я не нашел законного использования этого файла для создания службы REST с помощью spring. Я не видел никакого использования Application Context, Bean Factory при создании веб-приложений. Может ли кто-нибудь указать, как можно использовать bean factory в веб-приложениях Spring? Есть ли принципиальная разница между основной пружиной и пружинным чехлом, кроме дополнительных компонентов?

1 Ответ

1 голос
/ 13 июля 2020

Контекст приложения Spring - это, по сути, «пул» bean-компонентов (служебных объектов, которые включают контроллеры, преобразователи, объекты доступа к данным и т. Д.) И связанной информации, которые определяют приложение; Я рекомендую справочное введение . Теоретически вы можете усложнить настройку контекста и иметь иерархическую организацию и тому подобное, но в большинстве реальных случаев у вас есть только один простой контекст.

Внутри этого контекста вам нужно установить все компоненты которые предоставляют logi c для вашего приложения. Есть несколько возможных способов сделать это, но два основных способа - предоставить XML файлы с такими директивами, как bean (определение отдельного bean-компонента) или component-scan (автоматический поиск классов с определенными аннотациями, включая * 1007). *) и с использованием Java классов, аннотированных @Configuration, которые могут использовать аннотации и @Bean методы.

Стиль XML, как правило, более старый, а новые приложения в основном используют конфигурацию Java, но оба предоставляют записи, которые собираются в контексте, и вы можете использовать их одновременно. Однако в любом приложении вы должны предоставить некоторый способ запуска регистрации, и обычно у вас будет один файл «root» XML или класс конфигурации, который затем импортирует другие XML файлы. и / или классы конфигурации. В устаревшем приложении на основе web.xml вы указываете это в своем файле конфигурации сервлета.

Spring Boot, как вы сказали, по сути, представляет собой набор готовых к go классов конфигурации вместе с механизмом для автоматического определения конфигураций и их активации. Но даже для этого требуется конфигурация root! Это инструкция @EnableAutoConfiguration, часто используемая через ее составной @SpringBootApplication. Контекст приложения и механизмы конфигурации работают нормально, как только Boot находит их и загружает. Spring знает, с чего начать, потому что вы даете ему явную инструкцию для создания контекста, начиная с этой точки входа, обычно с SpringApplication.run(MyApplication.class, args).

Конфигурация встроенного сервера представляет собой действительно полезный набор конфигураций, который поставляется с одним из начальных пакетов загрузки. Там нет ничего, что вы не могли сделать в приложении, отличном от Boot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...