1课程导学
1.1 Spring Boot是如何基于Spring Framework逐步走向自动装备?
1.2SpringApplication是怎样掌控Spring应用生命周期?
1.3SpringBoot外部化配置与Spring Environment抽象之间是什么关系?
1.4 Spring Web MVC向Spring Reactive WebFlux过渡的真实价值和意义?
Spring Boot2.0好学么?
- 组件自动装备:
- 外部化配置:
- 嵌入式容器:(Netty:webflux)
- Spring Boot Starter
Spring Boot难精
- 组件自动装配: 模式注解、@Enable模块、条件装配、加载机制
- 外部化配置: Environment抽象、生命周期、破坏性变更
- 嵌入式容器:Servlet Web容器、Reative Web容器
- Spring Boot Starter:依赖管理、装配条件、装配顺序
- -Production-Ready:健康检查、数据指标、@Endpoint管控
Spring Boot与Java EE规范
4 核心特性介绍
5 核心特性之组件自动装配工程部分
6 Web应用介绍
@SpringBootApplication
@ServletComponentScan
public class Application1_7 {
public static void main(String[] args) {
SpringApplication.run(Application1_7.class,args);
}
}
@WebServlet(urlPatterns = "/hi")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().println("Hey Man");
}
}
@WebServlet(urlPatterns = "/hi", asyncSupported = true)
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().println("666666666");
}
}
@WebServlet(urlPatterns = "/hi", asyncSupported = true)
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
AsyncContext asyncContext = req.startAsync();
asyncContext.start(() ->{
try {
resp.getWriter().println("666666666");
//触发完成
asyncContext.complete();
} catch (IOException e) {
e.printStackTrace();
}
});
}
}
9 Spring Web MVC 应用介绍
10 Spring WebFlux 应用
11 Web Server 应用
- Tomcat的加载优先级高于Jetty,所以需要排除Tomcat.
- WebFlux的优先级会低于传统的Web容器.
12 数据相关介绍
13 功能扩展介绍
14 运维管理介绍
jsonsole
- 开放所有webpoints
Spring Boot 2.0.1文档
management.endpoints.web.exposure.include=*