❓ Что такое Spring Boot и для чего он используется?
🌱 Spring Boot — open-source фреймворк, упрощающий конфигурацию Spring приложений
Современные приложения используют готовые библиотеки, которые необходимо конфигурировать. Код, отвечающий лишь за запуск приложения, усложняется.
Благодаря convention over configuration подходу, Spring Boot позволяет значительно упростить код. Например:
— подключив spring-boot-starter-actuator в Maven/Gradle мы получаем рабочий функционал мониторинга
— подключив flyway-core и положив файлы миграций в директорию db/migration, они будут автоматически выполнены
❓ За счет чего это работает?
За счет исполнения кода автоконфигураций
Автоконфигурация — обычный бин, помеченный аннотацией Configuration или Autoconfiguration и объявленный в файле META-INF/spring.factories [до версии 2.7] или META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.import [c версии 2.7]
Библиотека, содержащая автоконфигурацию, имеет название Spring Boot Starter
Подключая в наш проект starter, фреймворк автоматически исполняет код автоконфигураций, создавая необходимые бины и исполняя логику, задуманную конкретной библиотекой
А благодаря Conditional аннотациям, такая логика может быть очень гибкой. Например:
— ConditionalOnMissingBean создаст бин, если нет другой реализации
— ConditionalOnProperty создаст бин при наличии определенного свойства в application.yaml
❓ Что еще есть?
Spring Boot предоставляет BOM [Bill Of Materials] spring-boot-dependencies, являющийся готовым набором совместимых между собой версий библиотек
Это дает нам возможность не указывать явно версии для большого количества зависимостей в Maven/Gradle
В наших примерах по работе с БД было много повторяющегося кода. Я вынес общий код в starter и теперь все примеры реализуют один и тот же API контракт:
📚 JDBC
💡 jOOQ
🐦 MyBatis
🪞 Hibernate
🌱 Spring JDBC
🌱 Spring Data JDBC
🌱 Spring Data JPA
#sandbox #java_database_tools_starter
➿ Меню
➿ Подпишись: @developer_sandbox
🌱 Spring Boot — open-source фреймворк, упрощающий конфигурацию Spring приложений
Современные приложения используют готовые библиотеки, которые необходимо конфигурировать. Код, отвечающий лишь за запуск приложения, усложняется.
Благодаря convention over configuration подходу, Spring Boot позволяет значительно упростить код. Например:
— подключив spring-boot-starter-actuator в Maven/Gradle мы получаем рабочий функционал мониторинга
— подключив flyway-core и положив файлы миграций в директорию db/migration, они будут автоматически выполнены
❓ За счет чего это работает?
За счет исполнения кода автоконфигураций
Автоконфигурация — обычный бин, помеченный аннотацией Configuration или Autoconfiguration и объявленный в файле META-INF/spring.factories [до версии 2.7] или META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.import [c версии 2.7]
Библиотека, содержащая автоконфигурацию, имеет название Spring Boot Starter
Подключая в наш проект starter, фреймворк автоматически исполняет код автоконфигураций, создавая необходимые бины и исполняя логику, задуманную конкретной библиотекой
А благодаря Conditional аннотациям, такая логика может быть очень гибкой. Например:
— ConditionalOnMissingBean создаст бин, если нет другой реализации
— ConditionalOnProperty создаст бин при наличии определенного свойства в application.yaml
❓ Что еще есть?
Spring Boot предоставляет BOM [Bill Of Materials] spring-boot-dependencies, являющийся готовым набором совместимых между собой версий библиотек
Это дает нам возможность не указывать явно версии для большого количества зависимостей в Maven/Gradle
В наших примерах по работе с БД было много повторяющегося кода. Я вынес общий код в starter и теперь все примеры реализуют один и тот же API контракт:
📚 JDBC
💡 jOOQ
🐦 MyBatis
🪞 Hibernate
🌱 Spring JDBC
🌱 Spring Data JDBC
🌱 Spring Data JPA
#sandbox #java_database_tools_starter
➿ Меню
➿ Подпишись: @developer_sandbox