Вы знаете эти семь модулей Spring?

задняя часть Spring
Вы знаете эти семь модулей Spring?

Это 3-й день моего участия в августовском испытании обновлений, подробности о событии:Испытание августовского обновления

Привет ребята,4yeСкоро продолжим делиться этимSpringЦикл статей 📚la~ (некоторые события блога будут перемежаться посередине) 😄 , если вам интересно, не забудьте поставить звездочку паблика ⭐

Также воспользуйтесь этой возможностью, чтобы просмотреть и организовать этоSpring, хотя он часто используется, но я не изучил его хорошо...

В этой статье мы поделимся с вами следующими моментами 👇

  1. springСемь модулей
  2. Основная роль модуля
  3. зависимости между модулями
  4. Весенние классические вопросы на собеседовании - что это такоеSpring

Семь модулей Spring

Итак, давайте сначала посмотрим на эту картинкуSpringКакие модули есть?

image-20210818204222928

можно разделить на следующиеСемь модулей👇

  • модуль данных (Data Access / Integration)
  • веб-модуль
  • Модуль Аспекта (Aop,Aspects)
  • инструментальный модуль (Instrumentation)
  • модуль сообщений
  • основной модуль
  • тестовый модуль

резюме

image-20210818083333497

В последующих статьях речь пойдет о модулях более темных цветов~ 😄

модуль данных

Модуль доступа к данным и интеграции , Data Access/Integration

В этом модуле пять небольших модулей, а именно👇

  • JDBC(Подключение к базе данных Java),подключение к базе данных Java
  • ORM(реляционное сопоставление объектов),Реляционное сопоставление объектов
  • OXM(отображение объекта XML),XML-отображение объекта
  • JMS(Служба сообщений Java),Служба сообщений Java
  • Transactions,дела

Я посмотрел и обнаружил, что наиболее часто используемым должно быть этоORMа такжеTransactions, и этоJMSа такжеJDBCПрактически соответствующие шаблоны предоставляются, но используются редко.OXMНе впечатлил 😂

резюме

Звездочка — ключевой модуль~🐷

image-20210817074810253

веб-модуль

Здесь четыре модуля👇

  • Web
  • WebMVC
  • WebSocket
  • WebFlux

веб-модульПредоставляет основные части, такие как кодек, фильтр, сериализация, интернационализация, кросс-доменность, преобразователь, клиент и сервер и т. д.

Модуль WebMVCкоторые мы обычно используемSpringMVC

Модуль веб-сокетаподдержать этополнодуплексная связь

Модуль WebFluxЭто оноОтзывчивый модуль веб-программирования, вы можете обратиться к следующему рисунку👇

image-20210818232143827

резюме

image-20210818214129615

Модуль аспекта

Есть известныеAOPа такжеAspects

Aop: Аспектно-ориентированное программирование, Аспектно-ориентированное программирование, правильноOOPдобавка

Aspects: ломтик

Я не знаю, смущаются ли мои друзья, когда видят это~, на самом деле здесь два модуля, я всегда думал, что там толькоAOPэтот модуль 🐖

Кратко объясните разницу между этими двумя модулями👇

Spring AOPЯвляетсяФреймворк AOP на основе прокси, для ежедневного использования

Spring AspectsМодуль определяет пять типов аспектов следующим образом👇

image-20210817225328713

Что касается агента, вы можете посмотреть две статьи, написанные 4ye ранее~

резюме

image-20210817225858382

инструментальный модуль


Instrumentation — это интерфейс на Java, который можно использовать для

  • агент мониторинга
  • регистрация событий
  • покрытие кода

Примеры таких полезных инструментов включают агенты мониторинга, профилировщики, анализаторы покрытия и регистраторы событий.— Комментарии из этого интерфейса.

Еще не пользовался 🐖

этоAspectJизLTW (загрузка-время-ткач)этим способомткатьиз

модуль сообщений

Spring-messagingмодуль обеспечиваетWebSocketизSTOMPРеализация протокола

STOMP (Simple Text Oriented Messaging Protocol) этоПротокол потокового обмена текстовыми сообщениями, также являетсяMOM (промежуточное ПО, ориентированное на сообщения, промежуточное ПО, ориентированное на сообщения) разработал простой текстовый протокол

Все эти общие MQ поддерживают этот протокол, напримерRocketMQ,RabbitMQ,ActiveMQ

мы можем пройтиSpringПример официального сайта для начала работы с этим модулем выглядит следующим образом👇

Простая версия

Компоненты, используемые при включении простых встроенных брокеров сообщений

image-20210818082643375

Расширенное издание

док внешнийMQдля достижения этой целитрансляция, подпискаЖдать

image-20210818082934518

основной модуль

приходитьSpringСамая основная часть, вот то, с чем мы знакомыИнверсия контроля (Inversion of Control, IOC) а такжевнедрение зависимости( Dependency Injection, DI)

вот четыреосновной модуль👇

  • Beans
  • Core
  • Context
  • Expression

Каждый модуль очень важен, вот несколько знакомыхBean

Например:

  • BeanFactoryсуществуетBeansмодуль,IOCКорневой интерфейс контейнера
  • StopWatchсуществуетCoreмодуль, этоSpringтаймер вSpringчасто встречается в проектах
  • ApplicationContextсуществуетContextв модуле,основной интерфейс
  • ParserContextвExpressionВ модуле это установленоЭЛ выражениепрефикс по умолчанию для#{, суффикс}

резюме

Наверное, что-то вроде этого

image-20210818214831566

тестовый модуль

здесь естьMock,JunitПодожди, больше не буду знакомить 🐷

График зависимости исходного кода

согласно сSpringв исходном модулеgradleЗависимость, можно разобраться в такой картинкеграфик зависимости👇

image-20210818222259022

Что такое весна?

Поделитесь своим мнением о каплях 4ye здесь🐖

Spring — это легкий фреймворк с семью модулями, а именноданные, сеть, аспект, инструмент, сообщение, ядро, тест

Всего 20 небольших модулей

  • Основной модуль имеетБобы, Ядро, Контекст, Выражение,МОК и ДИ⭐
  • Фасетный модуль в основном включаетAOP, включая этоАОП-программирование ⭐
  • В веб-модуле естьWeb, WebMVC, WebSocket, WebFlux
  • Основные модули данныхОРМ, Техас

Легко расширяемые, такие как электронная почта, кеш, запланированные задачи и другие модули

Суммировать

В этом выпуске представлены эти семь модулей, а также зависимости и функции каждого модуля.

4ye организовал содержание этого выпуска в виде ментальной карты, и друзья, которым это нужно, могут посетить этот адрес и сохранить его самостоятельно 😄

(Картинка слишком большая и после сжатия ее не видно 🙄)

процесс on.com/chart_image…

image-20210818233046626

Наконец

Добро пожаловать, друзья, чтобы обсудить проблему вместе ~

Если вы считаете, что эта статья неплохая, тоПожалуйста, лайкните еще разподдержите 😝

Давайте начнем эту неожиданную встречу! ~

Добро пожаловать, чтобы оставить сообщение! Спасибо за Вашу поддержку!ヾ(≧▽≦*)о Давай, давай, давай! !

Я 4ye, мы должны увидеть вас в следующий раз... скоро увидимся! !😆

Если хотите, можете обратить внимание на общедоступный номерJava4yeПоддержите меня4yeДа 😝