- Learning Spring Boot 2.0(Second Edition)
- Greg L. Turnquist
- 309字
- 2021-07-02 15:18:05
Spring Boot starters
No application is complete without specifying dependencies. A valuable feature of Spring Boot is its virtual packages. These are published packages that don't contain any code, but simply list other dependencies instead.
The following code shows all the dependencies we selected on the Spring Initializr site:
dependencies { compile('org.springframework.boot:spring-boot-starter-data-
mongodb-reactive') compile('org.springframework.boot:spring-boot-starter-thymeleaf') compile('org.springframework.boot:spring-boot-starter-webflux') compile('org.projectlombok:lombok') compile('de.flapdoodle.embed:de.flapdoodle.embed.mongo') testCompile('org.springframework.boot:spring-boot-starter-test') }
You might have noticed that most of these packages are Spring Boot starters:
- spring-boot-starter-data-mongodb-reactive pulls in Spring Data MongoDB with the reactive bits enabled
- spring-boot-starter-thymeleaf pulls in the Thymeleaf template engine
- spring-boot-starter-webflux pulls in Spring WebFlux, Jackson JSON support, and embedded Netty
These starter packages allow us to quickly grab the bits we need to get up and running. Spring Boot starters have become so popular that many other third-party library developers are crafting their own.
In addition to starters, we have the following three extra libraries:
- Project Lombok (https://projectlombok.org) makes it dead simple to define POJOs without getting bogged down in getters, setters, and other details.
- Flapdoodle is an embedded MongoDB database that allows us to write tests, tinker with a solution, and get things moving before getting involved with an external database.
- spring-boot-starter-test pulls in Spring Boot Test, JSONPath, JUnit, AssertJ, Mockito, Hamcrest, JSONassert, and Spring Test, all within test scope.
The value of this last starter, spring-boot-starter-test, cannot be overstated. With a single line, the most powerful test utilities are at our fingertips, allowing us to write unit tests, slice tests, and full-blown our-app-inside-embedded-Netty tests. It's why this starter is included in all projects without checking a box on the Spring Initializr site.
Now, to get things off the ground, we need to shift focus to the tiny bit of code written for us by the Spring Initializr.
- 騰訊iOS測試實踐
- JavaScript 網(wǎng)頁編程從入門到精通 (清華社"視頻大講堂"大系·網(wǎng)絡(luò)開發(fā)視頻大講堂)
- 青少年美育趣味課堂:XMind思維導(dǎo)圖制作
- Designing Hyper-V Solutions
- Visual Basic程序設(shè)計教程
- Monitoring Elasticsearch
- C++ 從入門到項目實踐(超值版)
- Java應(yīng)用開發(fā)技術(shù)實例教程
- Python機器學(xué)習(xí)算法與實戰(zhàn)
- AI自動化測試:技術(shù)原理、平臺搭建與工程實踐
- Java Hibernate Cookbook
- Web前端開發(fā)最佳實踐
- Unity 5 Game Optimization
- 從零開始學(xué)UI設(shè)計·基礎(chǔ)篇
- Visual FoxPro程序設(shè)計實驗教程