spring-boot学习实践

2023年9月7日

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

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版本要求进行配置。

参考文章