Это 3-й день моего участия в августовском испытании обновлений, подробности о событии:Испытание августовского обновления
Привет ребята,4yeСкоро продолжим делиться этимSpringЦикл статей 📚la~ (некоторые события блога будут перемежаться посередине) 😄 , если вам интересно, не забудьте поставить звездочку паблика ⭐
Также воспользуйтесь этой возможностью, чтобы просмотреть и организовать этоSpring, хотя он часто используется, но я не изучил его хорошо...
В этой статье мы поделимся с вами следующими моментами 👇
-
springСемь модулей - Основная роль модуля
- зависимости между модулями
- Весенние классические вопросы на собеседовании - что это такое
Spring
Семь модулей Spring
Итак, давайте сначала посмотрим на эту картинкуSpringКакие модули есть?
можно разделить на следующиеСемь модулей👇
- модуль данных (Data Access / Integration)
- веб-модуль
- Модуль Аспекта (Aop,Aspects)
- инструментальный модуль (Instrumentation)
- модуль сообщений
- основной модуль
- тестовый модуль
резюме
В последующих статьях речь пойдет о модулях более темных цветов~ 😄
модуль данных
Модуль доступа к данным и интеграции , Data Access/Integration
В этом модуле пять небольших модулей, а именно👇
-
JDBC(Подключение к базе данных Java),подключение к базе данных Java -
ORM(реляционное сопоставление объектов),Реляционное сопоставление объектов -
OXM(отображение объекта XML),XML-отображение объекта -
JMS(Служба сообщений Java),Служба сообщений Java -
Transactions,дела
Я посмотрел и обнаружил, что наиболее часто используемым должно быть этоORMа такжеTransactions, и этоJMSа такжеJDBCПрактически соответствующие шаблоны предоставляются, но используются редко.OXMНе впечатлил 😂
резюме
Звездочка — ключевой модуль~🐷
веб-модуль
Здесь четыре модуля👇
- Web
- WebMVC
- WebSocket
- WebFlux
веб-модульПредоставляет основные части, такие как кодек, фильтр, сериализация, интернационализация, кросс-доменность, преобразователь, клиент и сервер и т. д.
Модуль WebMVCкоторые мы обычно используемSpringMVC
Модуль веб-сокетаподдержать этополнодуплексная связь
Модуль WebFluxЭто оноОтзывчивый модуль веб-программирования, вы можете обратиться к следующему рисунку👇
резюме
Модуль аспекта
Есть известныеAOPа такжеAspects
Aop: Аспектно-ориентированное программирование, Аспектно-ориентированное программирование, правильноOOPдобавка
Aspects: ломтик
Я не знаю, смущаются ли мои друзья, когда видят это~, на самом деле здесь два модуля, я всегда думал, что там толькоAOPэтот модуль 🐖
Кратко объясните разницу между этими двумя модулями👇
Spring AOPЯвляетсяФреймворк AOP на основе прокси, для ежедневного использования
Spring AspectsМодуль определяет пять типов аспектов следующим образом👇
Что касается агента, вы можете посмотреть две статьи, написанные 4ye ранее~
- 👉«Изучение шаблонов агентов Java и байт-кода»
- 👉"Исследование динамического прокси-сервера Cglib (ASM, Spring)"
резюме
инструментальный модуль
Instrumentation — это интерфейс на Java, который можно использовать для
- агент мониторинга
- регистрация событий
- покрытие кода
Примеры таких полезных инструментов включают агенты мониторинга, профилировщики, анализаторы покрытия и регистраторы событий.— Комментарии из этого интерфейса.
Еще не пользовался 🐖
этоAspectJизLTW (загрузка-время-ткач)этим способомткатьиз
модуль сообщений
Spring-messagingмодуль обеспечиваетWebSocketизSTOMPРеализация протокола
STOMP(Simple Text Oriented Messaging Protocol) этоПротокол потокового обмена текстовыми сообщениями, также являетсяMOM (промежуточное ПО, ориентированное на сообщения, промежуточное ПО, ориентированное на сообщения) разработал простой текстовый протоколВсе эти общие MQ поддерживают этот протокол, например
RocketMQ,RabbitMQ,ActiveMQ
мы можем пройтиSpringПример официального сайта для начала работы с этим модулем выглядит следующим образом👇
Простая версия
Компоненты, используемые при включении простых встроенных брокеров сообщений
Расширенное издание
док внешний
MQдля достижения этой целитрансляция, подпискаЖдать
основной модуль
приходитьSpringСамая основная часть, вот то, с чем мы знакомыИнверсия контроля (Inversion of Control, IOC) а такжевнедрение зависимости( Dependency Injection, DI)
вот четыреосновной модуль👇
- Beans
- Core
- Context
- Expression
Каждый модуль очень важен, вот несколько знакомыхBean
Например:
-
BeanFactoryсуществуетBeansмодуль,IOCКорневой интерфейс контейнера -
StopWatchсуществуетCoreмодуль, этоSpringтаймер вSpringчасто встречается в проектах -
ApplicationContextсуществуетContextв модуле,основной интерфейс -
ParserContextвExpressionВ модуле это установленоЭЛ выражениепрефикс по умолчанию для#{, суффикс}
резюме
Наверное, что-то вроде этого
тестовый модуль
здесь естьMock,JunitПодожди, больше не буду знакомить 🐷
График зависимости исходного кода
согласно сSpringв исходном модулеgradleЗависимость, можно разобраться в такой картинкеграфик зависимости👇
Что такое весна?
Поделитесь своим мнением о каплях 4ye здесь🐖
Spring — это легкий фреймворк с семью модулями, а именноданные, сеть, аспект, инструмент, сообщение, ядро, тест
Всего 20 небольших модулей
- Основной модуль имеетБобы, Ядро, Контекст, Выражение,МОК и ДИ⭐
- Фасетный модуль в основном включаетAOP, включая этоАОП-программирование ⭐
- В веб-модуле естьWeb, WebMVC, WebSocket, WebFlux
- Основные модули данныхОРМ, Техас
Легко расширяемые, такие как электронная почта, кеш, запланированные задачи и другие модули
Суммировать
В этом выпуске представлены эти семь модулей, а также зависимости и функции каждого модуля.
4ye организовал содержание этого выпуска в виде ментальной карты, и друзья, которым это нужно, могут посетить этот адрес и сохранить его самостоятельно 😄
(Картинка слишком большая и после сжатия ее не видно 🙄)
Наконец
Добро пожаловать, друзья, чтобы обсудить проблему вместе ~
Если вы считаете, что эта статья неплохая, тоПожалуйста, лайкните еще разподдержите 😝
Давайте начнем эту неожиданную встречу! ~
Добро пожаловать, чтобы оставить сообщение! Спасибо за Вашу поддержку!ヾ(≧▽≦*)о Давай, давай, давай! !
Я 4ye, мы должны увидеть вас в следующий раз... скоро увидимся! !😆
Если хотите, можете обратить внимание на общедоступный номерJava4yeПоддержите меня4yeДа 😝