spring-boot学习实践

Posted by Shi Hai's Blog on September 7, 2023

学习中,先把能在搜索引擎上找到的信息汇总一起方便学习。

Spring WebFlux

Spring框架中的响应式堆栈框架。

Reactive Programming

响应式编程是关于异步和事件驱动的非阻塞式应用。

Reactor

Spring框架在内部使用Reactor来提供自身的响应式支持。

Annotated Controllers

TBD

Response Entity

WebFlux支持使用单值的reactive type(MonoFlux)来异步地生成ResponseEntity

集成OpenAPI

spring有两种方式可以支持OpenAPI swagger UI。实际动作就是添加或者更新依赖。 一种是支持Spring WebMvc。

   <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
      <version>2.2.0</version>
   </dependency>

而另外一种则是支持Spring WebFlux。详情

   <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
      <version>2.2.0</version>
   </dependency>

springdoc-openapi-starter-xxx-ui都是springdoc-openapi-v2系列的软件包,而springdoc-openapi-v1的软件包则略有不同。详情

FAQ

  • org.springframework.boot:spring-boot-starter-parent:pom:3.0.0 failed to transfer from xxx 需要判断三个点:
  1. jdk版本是否符合配置要求
  2. 在setting中的Maven.Runner.VM Options中填入:-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
  3. 在setting中的Maven.importing.VM options for importer中填入:-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
  • Cannot resolve symbol 'var' 确保IDE内的所有Language Level配置都是按项目jdk版本要求进行配置。

参考文章