💠

💠 2024-05-04 22:39:50


SringBoot2

官方文档

springboot gradle

从1迁移到2

变化比较大 官方说明对比1所更改的文档

spring boot 2.0 半月的实战_阶段性总结1 SpringBoot2.0 jpa多数据源配置 Springboot2.0 升级(Gradle工程) 使用精简版jdk9在docker上运行springboot2 Spring Boot 2.0系列文章(一):Spring Boot 2.0 迁移指南

新特性

Spring Boot 2.0系列文章(二):Spring Boot 2.0 新特性详解 参考: Spring Boot 2.0 新特性和发展方向

Web模块

Web容器

Tomcat

org.springframework.boot:spring-boot-starter-web 依赖中默认包含了Tomcat

Jetty

Spring Boot – Configure Jetty Server

跨域

SpringBoot2的跨域配置 最终是采用的Nginx进行反向代理,将后台服务放在前台服务子路径下

SpringBoot上下文事件监听

  • 直接看 源码中 ApplicationContextEvent 类的 继承结构, 就能发现 有四个子类
    • ContextCloseEvent
    • ContextRefreshEvent
    • ContextStopEvent
    • ContextStartEvent

在任意的Component中添加如下类似的方法就能监听到如上事件

1
2
3
4
   @EventListener
   public void handleContextClosedEvent(ContextClosedEvent event) {
       // todo 
   }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
 @Configuration
 public class Listener implements ApplicationListener {
   @Override
   public void onApplicationEvent(ApplicationEvent event) {
     // 在这里可以监听到Spring Boot的生命周期
     if (event instanceof ContextRefreshedEvent) {
       System.out.println("应用刷新");
     }
     if (event instanceof ContextStartedEvent) {
       System.out.println("应用启动");

     } else if (event instanceof ContextStoppedEvent) {
       System.out.println("应用停止");

     } else if (event instanceof ContextClosedEvent) {
       System.out.println("应用关闭");
     }
   }
 }
  • 但是只有应用刷新, 应用启动完成, 应用关闭是能够正常监听到的

数据库模块

Relation Database

多数据源

No Relation Database