官术网_书友最值得收藏!

Using Spring Boot to build RESTful microservices

Spring Boot is a utility framework from the Spring team to bootstrap Spring-based applications and microservices quickly and easily. The framework uses an opinionated approach over configurations for decision making, thereby reducing the effort required in writing a lot of boilerplate code and configurations. Using the 80-20 principle, developers should be able to kickstart a variety of Spring applications with many default values. Spring Boot further presents opportunities for the developers to customize applications by overriding the autoconfigured values.

Spring Boot not only increases the speed of development but also provides a set of production-ready ops features such as health checks and metrics collection. As Spring Boot masks many configuration parameters and abstracts many lower-level implementations, it minimizes the chance of error to a certain extent. Spring Boot recognizes the nature of the application based on the libraries available in the class path and runs the autoconfiguration classes packaged in these libraries.

Often, many developers mistakenly see Spring Boot as a code generator, but in reality, it is not. Spring Boot only autoconfigures build files—for example, POM files in the case of Maven. It also sets properties, such as data source properties, based on certain opinionated defaults. Take a look at the following code:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <scope>runtime</scope>
</dependency>

For instance, in the preceding case, Spring Boot understands that the project is set to use the Spring Data JPA and HSQL databases. It automatically configures the driver class and other connection parameters.

One of the great outcomes of Spring Boot is that it almost eliminates the need to have traditional XML configurations. Spring Boot also enables microservices' development by packaging all the required runtime dependencies in a fat executable JAR file.

主站蜘蛛池模板: 乌拉特前旗| 大化| 阳西县| 泌阳县| 永胜县| 革吉县| 高阳县| 额尔古纳市| 铜鼓县| 安福县| 琼海市| 眉山市| 惠东县| 夏邑县| 平阴县| 安庆市| 西乌珠穆沁旗| 涟源市| 龙南县| 乌兰察布市| 双流县| 五大连池市| 漾濞| 弋阳县| 安顺市| 拜城县| 晋中市| 蒙城县| 抚远县| 宁强县| 左贡县| 岑溪市| 巧家县| 杂多县| 金平| 夏津县| 宣化县| 武川县| 阿勒泰市| 格尔木市| 渑池县|