mvn archetype:generate -DinteractiveMode=false -DgroupId=com.imooc -DartifactId=first-app-by-maven -Dversion=1.0.0-SNAPSHOT
二、项目分层、web变成了主目录:
1、主目录职责由jar包编程了管理各个子模块
<!--修改pom改成父工程-->
<!--
1、model
2、persistence 依赖于model(domain)
3、web 依赖于persistence(repository)
-->
打包命令:mvn -Dmaven.test.skip -U clean package
三、运行模式:
1、ide模式
比较简便,直接运行,生产环境不一定有条件。
2、jar或者war方式(自测相对快点)
记住要改成war包需要遵循maven的webapp目录规范,需要自己创建webapp\WEB-INF\web.xml。
注意在编译插件中自定义配置主类全名称,让插件能找到主类。
3、maven插件化执行
需要将各个模块的依赖安装到本地:mvn -Dmaven.test.skip -U clean install
然后再打包,就可以运行了。
运行方式 mvn spring-boot:run
四、总结
1、spring-boot 自动装配,spring-mvc jdbc 等组件
2、嵌入式容器 tomcat、netty等
3、为生产做了相关整合
特性:
1、spring-boot 自动装配,spring-mvc jdbc 等组件(有一定条件)
2、嵌入式容器 tomcat、netty等
3、为生产做了相关整合
运行模式:
1、ide模式
比较简便,直接运行,生产环境不一定有条件。
2、jar或者war方式(自测相对快点)
记住要改成war包需要遵循maven的webapp目录规范,需要自己创建webapp\WEB-INF\web.xml。
注意在编译插件中自定义配置主类全名称,让插件能找到主类。
3、maven插件化执行
需要将各个模块的依赖安装到本地:mvn -Dmaven.test.skip -U clean install
然后再打包,就可以运行了。
运行方式 mvn spring-boot:run
jdk配置
java home
path
echo %JAVA_HOME%
Maen配置
M2_HOME配置
同时,配置 M2_HOME的 path
echo %M2_HOME%
配置IDEA
idea.config.path
idea config system 文件存储位置修改
idea 设置
maven位置
maven导入时选择源码
Spring Boot 2.0 特性介绍:
底层框架:基于 Spring Framework 5,因此也具备 Spring Framework 5 的特性
Spring Framework 5 的特性:
基于 JDK 8
支持 Kotlin:不少源码使用 Kotlin
全新特性:Web Flux
Web Flux 的介绍:
一种新型编程模型,是对 Spring MVC 的补充
支持声明式函数编程:Java 8 Lambda
支持响应式编程:Reactive Streams
支持异步编程:Servlet 3.1 或 Asyc NIO
其他
Reactive 规范的实现 -> ReactiveStream ->(java 9 Flow API /Reactive Extension rxjava/ reactor)
多方式注入
@Configuraton表示所处的类是一个配置对象,是spring3后才出现的,出现的目的是逐渐替代xml文件,可以认为是java版的xml文件。
MAVEN 管理第三方包的包管理工具,中间件
apache官网下载3.5版本的maven,直接解压,然后配置环境变量(系统变量,不要改用户变量);
新增:M2_HOME maven解压的路径
path中增加:%M2_HOME%/bin
命令行测试:mvn -v
为了减小C盘使用,修改IDEA配置文件,
修改之后,重启IDEA会在本地生成如下两个文件:
IDEA默认的maven地址,将其修改为刚才配置好的本地maven:
spring boot 介绍
响应式编程:编程规范
NIO 异步IO
springboot 角色
springboot----javaEE框架
springcloud----分布式
Spring Boot
版本:spring framework5.0-> spring boot -> spring cloud
环境准备:java 8.0、Maven3.2.5、spring
第一个项目:web flux、
多模块项目:模型层Module->持久层Persistence->表示层web层
打包和运行:war包 或者 jar 或者 命令行/maven方式启动
Servlet 请求接口:ServletRequest 或者 HttpServeltRequest
响应接口:ServletResponse 或者HTTPServletResponse
Spring 5.0中,
请求接口:ServerRequest
响应接口:ServerResponse
即可支持Servlet规范,也可以支持自定义,比如Netty(Web Server)
使用 Maven Archetype Plugin 命令行的方式构建一个 Spring Boot 应用。
mvn archetype:generate -DinteractiveMode=false -DgroupId=site.bulibucai -DartifactId=first-sb-by-maven -Dversion=1.0.0-SNAPSHOT
传统 NIO 是同步非阻塞
Reactor 是异步非阻塞,Reactive 的实现。
Spring 5 重新定义了服务请求和响应接口。
ServerResponse
ServerRequest
这种接口既可以支持 Servlet 规范,也支持自定义,如 Netty (Web Server)。
第一个项目的构建。
第一个 Spring Boot 项目的场景说明。
Spring Boot 2.0 特性介绍:
底层框架:基于 Spring Framework 5,因此也具备 Spring Framework 5 的特性
Spring Framework 5 的特性:
基于 JDK 8
支持 Kotlin:不少源码使用 Kotlin
全新特性:Web Flux
Web Flux 的介绍:
一种新型编程模型,是对 Spring MVC 的补充
支持声明式函数编程:Java 8 Lambda
支持响应式编程:Reactive Streams
支持异步编程:Servlet 3.1 或 Asyc NIO
角色或作用:
Spring Framework:一种 Java EE 框架
Spring Boot:快速构建 Spring 应用
Spring Cloud:构建 Spring Boot 的分布式环境
运行方式
IDEA
命令行
Maven 脚本
测试笔记 好看好看好看
SpringBoot 介绍
新特性
编程语言:Java8+,kotlin
底层框架:Spring Framwork 5.0.x
全新特性:Web Flux
为什么选择WebFlux
函数编程:java 8 Lambda
响应编程:Reactive Strames
异步编程:Servlet3.1 或Asyc NIO
SpringBoot 角色
1、spring Framework框架,Spring的底层框架
2、SpringBoot基于SpringFramework构建,是快熟构建Spring项目的应用
3、Spring Cloud,基于SpringBoot的快速构建分布式的应用
Web Flux是一种新型的编程模型,它是对spingmvc做出了一种补充。
传统的springmvc是通过注解和标签来产生相应的请求映射,以及响应。
Web Flux同样兼容这种方式,同时还提出了新型的声明式函数式编程。
Spring Cloud 分布式云应用
Spring Boot 快速构建的Spring应用
Spring Framework JavaEE框架
几种构建方式、运行方式,多模块拆分,调试方法;这个讲师内容太深,不实用
post 请求 web mvc
get 请求 web flux