1. Что такое Spring Boot?
С годами Spring стал более сложным по мере добавления новых функций. Просто посетите страницу https://spring.io/projects, и мы увидим различные функции всех проектов Spring, которые можно использовать в нашем приложении. Если нам нужно запустить новый проект Spring, мы должны добавить путь сборки или добавить зависимости maven, настроить сервер приложений, добавить конфигурацию spring. Поэтому запуск нового весеннего проекта требует больших усилий, поскольку теперь нам приходится делать все с нуля.
Spring Boot — решение этой проблемы. Spring Boot был построен на основе существующей среды Spring. Благодаря весенней загрузке мы избегаем всего шаблонного кода и конфигурации, которые нам приходилось делать раньше. Таким образом, Spring Boot может помочь нам более надежно использовать существующие функции Spring с минимальными усилиями.
2. Каковы преимущества Spring Boot?
Преимущества Spring Boot:
- Сокращение времени и усилий на разработку, тестирование.
- Использование JavaConfig помогает избежать использования XML.
- Избегайте большого количества импортов Maven и различных конфликтов версий.
- Дайте рекомендации по разработке методов.
- Начните разработку быстро, предоставив значения по умолчанию.
- Отдельный веб-сервер не требуется. Это означает, что вам больше не нужно запускать Tomcat, Glassfish или что-то еще.
- Требуется меньше настроек, так как нет файла web.xml. Просто добавьте класс с аннотацией @Configuration, затем добавьте метод с аннотацией @Bean, и Spring автоматически загрузит объект и будет управлять им, как раньше. Вы даже можете добавить @Autowired к методу bean-компонента, чтобы Spring автоматически подключал необходимые ему зависимости.
- Конфигурация на основе среды Используя эти свойства, вы можете передать используемую среду приложению: -Dspring.profiles.active={enviornment}. После загрузки основного файла свойств приложения Spring загрузит последующие файлы свойств приложения в (application{environment}.properties).
3. Что такое JavaConfig?
Spring JavaConfig — продукт сообщества Spring, предоставляющий конфигурацию контейнера Spring IoC в чистом виде.
Java-метод. Таким образом, это помогает избежать конфигурации XML. Преимущества использования JavaConfig:
1. Объектно-ориентированная конфигурация. Поскольку конфигурации определяются как классы в JavaConfig, пользователи могут воспользоваться преимуществами объектно-ориентированных функций Java. Один класс конфигурации может наследоваться от другого, переопределять его методы @Bean и т. д.
2. Сократите или исключите конфигурацию XML. Были продемонстрированы преимущества внешней конфигурации, основанной на принципах внедрения зависимостей. Однако многие разработчики не хотят переключаться между XML и Java. JavaConfig предоставляет разработчикам чистый Java-способ настройки контейнеров Spring, схожий по концепции с конфигурацией XML. С технической точки зрения контейнер можно сконфигурировать, используя только класс конфигурации JavaConfig, но на практике многие люди считают идеальным смешивание и сопоставление JavaConfig с XML.
3. Безопасность типов и удобство рефакторинга. JavaConfig обеспечивает типобезопасный способ настройки контейнера Spring. Благодаря поддержке универсальных шаблонов в Java 5.0 компоненты теперь могут извлекаться по типу, а не по имени, без каких-либо приведений типов или поиска на основе строк.
4. Как перезагрузить изменения в Spring Boot без перезагрузки сервера?
Этого можно добиться с помощью инструментов DEV. С помощью этой зависимости вы можете сохранить любые изменения, и встроенный кот перезапустится. Spring Boot имеет модуль средств разработки (DevTools), который помогает повысить производительность разработчиков. Основной проблемой для разработчиков Java является автоматическое развертывание изменений файлов на сервере и автоматический перезапуск сервера. Разработчики могут перезагружать изменения в Spring Boot без перезапуска сервера. Это избавит от необходимости вручную развертывать изменения каждый раз. Spring Boot не имел этой функции, когда выпускал свою первую версию. Это наиболее востребованная функция для разработчиков. Модули DevTools полностью отвечают потребностям разработчиков. Этот модуль будет отключен в рабочей среде. Он также предоставляет консоль базы данных H2 для лучшего тестирования приложения.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
5. Что такое монитор в Spring Boot?
Привод Spring Boot — одна из важных функций в структуре Spring Boot. Мониторы загрузки Spring помогают получить доступ к текущему состоянию запущенных приложений в рабочей среде. Существует несколько показателей, которые необходимо проверять и отслеживать в производственной среде. Даже некоторые внешние приложения могут использовать эти службы для отправки предупреждающих сообщений соответствующему персоналу. Модуль монитора предоставляет набор конечных точек REST, к которым можно получить прямой доступ как URL-адреса HTTP для проверки состояния.
6. Как отключить безопасность конечной точки Actuator в Spring Boot?
Все конфиденциальные конечные точки HTTP защищены по умолчанию, и только пользователи с ролью ACTUATOR могут получить к ним доступ. Безопасность реализована с помощью стандартного метода HttpServletRequest.isUserInRole. мы можем использовать
чтобы отключить безопасность. Отключение защиты рекомендуется только в том случае, если доступ к конечной точке привода осуществляется через брандмауэр.
7. Как запустить приложение Spring Boot на пользовательском порту?
Чтобы запустить приложение Spring Boot на пользовательском порту, вы можете указать порт в application.properties.
8. Что такое YAML?
YAML — это человекочитаемый язык сериализации данных. Обычно используется для конфигурационных файлов.
По сравнению с файлами свойств файлы YAML более структурированы и менее запутаны, если мы хотим добавить сложные свойства в файлы конфигурации. Видно, что YAML имеет иерархические данные конфигурации.
9. Как реализовать безопасность приложения Spring Boot?
Чтобы реализовать безопасность Spring Boot, мы используем зависимость spring-boot-starter-security и должны добавить конфигурацию безопасности. Это требует очень мало кода. Класс конфигурации должен будет расширить WebSecurityConfigurerAdapter и переопределить его методы.
10. Как интегрировать Spring Boot и ActiveMQ?
Для интеграции Spring Boot и ActiveMQ мы используем зависимости. Он требует минимальной настройки и не требует шаблонного кода.
11. Как реализовать пейджинг и сортировку с помощью Spring Boot?
Реализовать разбиение на страницы с помощью Spring Boot очень просто. Передача постраничных методов в репозиторий возможна с использованием Spring Data-JPA.
12. Что такое чванство? Вы реализовали это с помощью Spring Boot?
Swagger широко используется для визуализации API-интерфейсов, используя пользовательский интерфейс Swagger для предоставления онлайн-песочницы для разработчиков интерфейса. Swagger — это инструмент, спецификация и полная реализация платформы для создания визуальных представлений веб-сервисов RESTful. Он позволяет обновлять документы с той же скоростью, что и сервер. При правильном определении с помощью Swagger потребители могут понимать и взаимодействовать с удаленными службами, используя минимальное количество логики реализации. Таким образом, Swagger избавляет от догадок при вызове служб.
13. Что такое профили Spring?
Профили Spring позволяют пользователям регистрировать bean-компоненты на основе профилей (dev, test, prod и т. д.). Таким образом, когда приложение работает в процессе разработки, могут быть загружены только некоторые bean-компоненты, в то время как в PRODUCTION могут быть загружены некоторые другие bean-компоненты. Допустим, наше требование состоит в том, что документация Swagger предназначена только для сред контроля качества, а вся остальная документация отключена. Это можно сделать с помощью конфигурационных файлов. Spring Boot делает работу с файлами конфигурации очень простой.
14. Что такое Spring Batch?
Spring Boot Batch предоставляет повторно используемые функции, которые важны при работе с большим количеством записей, включая ведение журнала/отслеживание, управление транзакциями, статистику обработки заданий, перезапуски заданий, пропуски и управление ресурсами. Он также предоставляет более продвинутые технические услуги и функции, позволяя выполнять пакетные задания с чрезвычайно высокой производительностью и высокой производительностью за счет методов оптимизации и разделения. Простые, а также сложные объемные пакетные задания могут использовать платформу для обработки значительных объемов информации с высокой степенью масштабируемости.
15. Что такое шаблон FreeMarker?
FreeMarker — это механизм шаблонов на основе Java, изначально ориентированный на создание динамических веб-страниц с использованием программной архитектуры MVC. Основным преимуществом использования Freemarker является полное разделение презентационного и бизнес-уровня. Программисты могут работать с кодом приложения, а дизайнеры — с дизайном HTML-страницы. Наконец, используя freemarker, их можно объединить, чтобы получить окончательную страницу вывода.
16. Как использовать Spring Boot для реализации обработки исключений?
Spring предоставляет очень полезный способ обработки исключений с помощью ControllerAdvice. Мы обрабатываем все исключения, генерируемые классом контроллера, реализуя класс ControlerAdvice.
17. Какие стартовые зависимости maven вы используете?
Некоторые из приведенных ниже зависимостей используются
spring-boot-starter-activemq
spring-boot-starter-security
Это помогает добавить меньше зависимостей и уменьшить количество конфликтов версий.
18. Что такое CSRF-атака?
CSRF означает подделку межсайтовых запросов. Это атака, которая заставляет конечных пользователей выполнять нежелательные действия в аутентифицированных веб-приложениях. CSRF-атаки нацелены именно на запросы на изменение состояния, а не на кражу данных, поскольку злоумышленник не может просмотреть ответ на поддельный запрос.
19. Что такое веб-сокеты?
WebSocket — это протокол компьютерной связи, который обеспечивает полнодуплексный канал связи по одному TCP-соединению.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-ea1279578e0483de62602effb645ae82b5c984cbdcbc598fc3f5c79e5cf259087a2cab4f.awebp)
- WebSocket является двунаправленным — с помощью WebSocket клиент или сервер могут инициировать отправку сообщения.
- WebSocket является полнодуплексным — взаимодействие клиента и сервера не зависит друг от друга.
- Одиночное TCP-соединение. Первоначальное соединение использует HTTP, затем это соединение обновляется до соединения на основе сокетов. Это единственное соединение затем используется для всех будущих коммуникаций.
- Легкий — обмен данными сообщений WebSocket намного легче по сравнению с http.
20. Что такое АОП?
В процессе разработки программного обеспечения функции, которые охватывают несколько точек приложения, называются сквозными проблемами. Эти сквозные вопросы не совпадают с основной бизнес-логикой приложения. Таким образом, отделение этих сквозных задач от бизнес-логики — вот где вступает в действие аспектно-ориентированное программирование (АОП).
21. Что такое Apache Kafka?
Apache Kafka — это распределенная система обмена сообщениями с публикацией и подпиской. Это масштабируемая отказоустойчивая система обмена сообщениями публикации и подписки, которая позволяет нам создавать распределенные приложения. Это проект верхнего уровня Apache. Kafka подходит для потребления сообщений в автономном и онлайн-режиме.
22. Как мы можем отслеживать все микросервисы Spring Boot?
Spring Boot предоставляет конечные точки мониторинга для мониторинга показателей отдельных микросервисов. Эти конечные точки полезны для получения информации о приложениях (например, о том, работают ли они) и о том, правильно ли функционируют их компоненты (например, базы данных и т. д.). Однако основным недостатком или трудностью использования монитора является то, что нам нужно открывать точку знаний приложения индивидуально, чтобы узнать его состояние или работоспособность. Представьте себе микрослужбу, включающую 50 приложений. Администратору придется нажать на терминал выполнения для всех 50 приложений.
Чтобы помочь нам справиться с этой ситуацией, мы будем использовать проект с открытым исходным кодом, расположенный по адресу . Он построен на основе Spring Boot Actuator, который предоставляет веб-интерфейс, позволяющий нам визуализировать метрики для нескольких приложений.
Суммировать:
[Подготовка к весеннему набору персонала] Подробное объяснение 50 вопросов для собеседования по микросервисам
[Подготовка к весеннему набору персонала] Подробное объяснение 27 вопросов интервью MyBatis
Dachang resdis soul 40 вопросов, научим вас, как получить интервьюера
Скоро весенний набор.Я разобрала классические вопросы на собеседованиях, которые часто берут крупные компании.Друзья в беде могут обратить внимание на паблик WeChat: Место сбора Java-программистов.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-5bb92c89c1958121017883a3828abbbc72e1e965b65023ae3fdade13bb38e2d54df69edd.awebp)