В недавнем интервью SpringBoot задал мне 30 вопросов!

Spring Boot

С самого начала SSH to SpringMVC, с развитием Spring, разработка становилась все проще и легче. используются как очки знаний, научитесь их собирать.

1. Что такое Spring Boot?

С помощью Spring Boot легко создавать автономные приложения на основе Spring производственного уровня, которые вы можете «запускать». Для большинства приложений Spring Boot требуется минимальная конфигурация Spring.

2. Характеристики SpringBoot?

  • Создайте отдельное приложение Spring
  • Встраивайте Tomcat, Jetty или Undertow напрямую (не нужно развертывать файл WAR)
  • Предоставляет усиленные «начальные» зависимости для упрощения настройки сборки.
  • Автоматическая настройка Spring и сторонние библиотеки, насколько это возможно.
  • Предоставляет готовые к работе функции, такие как метрики, проверки работоспособности и внешняя конфигурация.
  • Никакой генерации кода и конфигурации XML не требуется.

3. Как быстро собрать проект SpringBoot?

  • Использование через веб-интерфейс. http://start.spring.io
  • Используется Spring Tool Suite.
  • Используется IntelliJ IDEA.
  • Используйте интерфейс командной строки Spring Boot.

4. Аннотации класса запуска SpringBoot, из каких аннотаций он состоит?

@SpringBootApplication

  • @SpringBootConfiguration: объединяет аннотацию @Configuration для реализации функции файла конфигурации.
  • @EnableAutoConfiguration: включает функцию автоматической настройки, а также может отключить параметр автоматической настройки.
  • @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
  • @ComponentScan: сканирование компонентов Spring

5. Что такое ямл?

YAML (/ˈjæməl/, оканчивающийся на верблюдоподобный верблюд) — это легко читаемый формат для выражения сериализации данных. YAML ссылается на многие другие языки, в том числе: C, Python, Perl. более структурированный.

6. Какой формат поддерживает SpringBoot для файлов конфигурации?

1.properties

java.xiaokaxiu.name = xiaoka

2.yml

java:
  xiaokaxiu:
     name: xiaoka

7. Как запускается SpringBoot?

  1. основной метод

  2. Путь командной строки java -jar

  3. mvn/gradle

8.springboot требует отдельного контейнера для бега?

Нет, Tomcat/Jetty встроен.

9. Путь конфигурации SpringBoot?

  1. аргументы командной строки
  2. Свойства JNDI в java:comp/env
  3. Системные свойства JVM
  4. переменные среды операционной системы
  5. Со случайно генерируемым свойством random.* Prefix (при задании других свойств на них можно ссылаться, например ${random.long})
  6. файлы application.properties или application.yml вне приложения
  7. Файл application.properties или application.yml, упакованный в приложение.
  8. Источник свойства с аннотацией @PropertySource
  9. Свойства по умолчанию

подсказки: Этот список отсортирован по приоритету, то есть любое свойство, установленное в источнике свойств с высоким приоритетом, переопределит то же свойство со свойством с низким приоритетом.

10. Где можно разместить файлы application.properties и application.yml?Приоритет?

  1. Внешний, в подкаталоге /config относительно каталога, в котором запущено приложение.

  2. Внешний, в каталоге, где работает приложение.

  3. Встроенный, в конфиг-пакете.

  4. Встроенный, в корне пути к классам.

    Этот список отсортирован по приоритету, причем более высокий приоритет имеет приоритет над более низким приоритетом.

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

java -jar xiaoka.jar ———spring.config.location=/home/application.yml

11. Принцип автоматической настройки SpringBoot?

@EnableAutoConfiguration (включить автоматическую настройку) Эта аннотация вводит AutoConfigurationImportSelector, и методы этого класса сканируют все пакеты jar, существующие в META-INF/spring.factories.

12. Метод горячего развертывания Spring Boot?

  • spring-boot-devtools

  • Spring Loaded

  • Jrebel

  • Шаблон горячего развертывания

13."bootstrap.yml"и"application.yml"?

bootstrap.yml имеет приоритет над application.yml

14. Как SpringBoot изменяет номер порта?

В ИМЛ:

server :
  port : 8888

properties:

server.port = 8888

Команда 1:

java -jar xiaoka.jar ——— server.port=8888

Команда 2:

java - Dserver.port=8888 -jar xiaoka.jar

15. Несколько способов включить функции SpringBoot?

  1. Наследование проекта spring-boot-starter-parent
  2. Импорт зависимостей проекта spring-boot-dependencies

16. Как SpringBoot совместим с проектами Spring?

В классе запуска добавьте:

@ImportResource(locations = {"classpath:spring.xml"})

17. Мониторинг конфигурации Spring Boot?

<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

18. К какой конечной точке осуществляется доступ для получения информации об отчете Bean Assembly?

/ beans конечная точка

19. Какая конечная точка закрыта?

/shutdown

Эта конечная точка по умолчанию отключена. Если она включена, требуются следующие настройки.

 endpoints:
      shutdown:
        enabled: true

Или формат свойств также возможен.

20. К какой конечной точке осуществляется доступ для просмотра информации о публикующем приложении?

/info

21. Несколько комбинированных аннотаций для запроса доступа?

@PatchMapping

@PostMapping

@GetMapping

@PutMapping

@DeleteMapping

22. Стартер в SpringBoot?

Его можно понимать как комбинацию парных зависимостей, Стартер будет включать одну или набор зависимостей, связанных с функциями, избегая проблем, связанных с опорой на свои собственные, и конфликтов различных пакетов. Значительно улучшена эффективность разработки.

И соответствующая конфигурация будет иметь значение по умолчанию.Если мы настроим ее самостоятельно, значение по умолчанию будет перезаписано.

23. SpringBoot интегрирует Mybatis?

mybatis-spring-boot-starter

24. Что такое SpringProfiles?

Вообще говоря, мы переходим от разработки к производству, через разработку (dev), тестирование (test) и запуск (prod). Мы будем использовать разные конфигурации в разное время. Профили Spring позволяют пользователям регистрировать bean-компоненты на основе профилей (dev, test, prod и т. д.). Они позволяют нам выбирать, когда какую конфигурацию использовать.

25. Файлы конфигурации для разных сред?

Это может быть application-{profile}.properties/yml , но по умолчанию запускается основной файл конфигурации application.properties, Вообще говоря, наши различные конфигурации среды следующие.

  • application.properties: основной файл конфигурации
  • application-dev.properties: файл конфигурации среды разработки
  • application-test.properties: файл конфигурации тестовой среды
  • application.prop-properties: файл конфигурации производственной среды.

26. Как активировать конфигурацию окружения?

Например, активируем среду разработки.

ЮМЛ:

spring:
 profiles:
  active: dev

properties:

spring.profiles.active=dev

Командная строка:

java -jar xiaoka-v1.0.jar ———spring.profiles.active=dev 

27. Писать аннотации для тестовых случаев?

@SpringBootTest

28. С чем связана обработка исключений SpringBoot?

@ControllerAdvice

@ExceptionHandler

29. В чем разница между SpringBoot 1.x и 2.x?

  1. SpringBoot 2 основан на Spring5 и JDK8, а Spring 1x использует более раннюю версию.
  2. Изменения конфигурации, названия параметров.
  3. Многие из минимальных версий подключаемых модулей, связанных со SpringBoot2, выше, чем исходные.
  4. Китайцы в конфигурации 2.х можно читать напрямую без перекодирования
  5. Изменения в приводе
  6. Изменения в CacheManager

30. Есть ли пояснения по настройке чтения SpringBoot?

  • @PropertySource
  • @Value
  • @Environment
  • @ConfigurationProperties

Ссылаться на:

  • «Спрингбат бой (4-е издание)»

  • «Идеи программирования Spring Boot»

  • «Введение в Spring Boot 2.x»

  • https://spring.io/projects/spring-boot

  • Энциклопедия Байду