概述
简化web应用开发过程的框架
优点
1、可以使用java的main方法启动内嵌的tomcat
2、用maven的依赖配置spring、springmvc等框架
3、健康检查
4、快速创建基于Spring的应用程序
5、提供约定的starter POM简化Maven配置
6、自动配置SpringMVC、Spring等其他开源框架,不需要XML文件,采用注解配置
自动配置
Springboot只需要导入场景启动器(依赖里导入),不需要自己手动配置环境,只需专注于业务逻辑
自动配置的规则可以通过配置文件来制定
没有tomcat也能启动,因为有嵌入式的容器(tomcat、jetty等)
四大核心
1、自动配置
2、起步依赖:maven的起步依赖,引入所需库就能使用
3、Actuator:Springboot内部信息
4、命令行界面:针对Groovy语言
配置文件
1、properties文件
2、yml文件
3、多环境配置,有激活用激活的,没有的用自带的
4、自定义配置
@Value读取配置的值
@ConfigurationProperties,把配置文件映射到注解标记的类里,使用的时候注入该类
springboot下的springmvc
1、@RestController,Responsebody与Controller结合
2、@GetMapping,requestMapping加get请求
3、@PostMapping,同理
4、@PutMapping
5、@DeleteMapping
springboot下的jsp
1、添加依赖三个(servlet、jsp、jstl),web开发必备
2、配置springmvc视图展示位jsp
3、build中需配置
springboot集成mybatis
1、依赖两个
2、配置mapper.xml所在位置
3、配置数据源
4、使用:添加@Mapper注解
springboot的事务
1、@EnableTransactionManagement,在入口类开始事务
2、@Transactional,spring的事务注解,在service层开启
REST架构风格
1、概述
REST:资源表现层状态转移
Resource:资源,即数据
representinal:某种表现形式,如:JSON,XMLJPEEG
State Transfer:状态变化,通过HTTP动词实现
2、@PathVariable,获取url的数据
3、post、delete、put、get方法
热部署
1、应用场景:修改某些逻辑代码需重启应用,降低开发效率
2、添加依赖
3、有时候会出现问题,重启但没生效
springboot集成redis
1、依赖
2、配置连接信息
3、优点:自动配置redis template
springboot集成dubbo
1、依赖
2、配置文件配置dubbo信息
3、服务接口
服务提供者
服务消费者
springboot使用拦截器
1、拦截类,实现HandlerInterceptor接口,拦截方法,为了方便查看是否拦截
2、配置类,继承WebMvcConfigurerAdapter,@Configuration
springboot集成servlet
1、方式一:注解,在该类上添加注解@WebServlet,入口类添加注解@ServletComponentScan(basePackages=“”)
2、方式二:先编写servlet,再出注册进springboot的配置类
springboot集成filter
1、方式一:用servlet3的注解方式写一个servlet,在main方法上添加注解
2、方式二:编写filter,编写springboot的配置类并注入filter
springboot项目配置字符编码
1、方式一:使用spring给的字符编码器
2、方式二:在springboot的配置文件设置
springboot的非web应用程序
1、方式一:入口类实现CommandLineRunner接口,配置依赖,覆盖run方法
2、方式二:在main方法中,根据run方法返回对象,再获取bean进行调用
springboot的war包部署
1、入口类继承SpringBootServletInitializer类
2、在入口类下覆盖方法
3、pom.xml修改配置
4、配置springboot打包插件
5、通过Maven install在本地maven仓库安装成一个war包,将war包放到tomcat下运行
springboot的jar包打包
1、添加maven插件
2、用maven install在本地仓库安装jar
3、用java -jar运行jar包,可以到linux系统上运行
4、访问运行起来的springboot程序
springboot集成Thymeleaf模板
1、Thymeleaf概述,非web环境先显示静态数据,web环境下替换掉静态数据
2、集成步骤:
1、添加依赖
2、配置文件进行配置
3、写一个Controller去映射模板页面
4、新建一个index.html进行数据的展示,引入thymeleaf的标签
HTTP动词
POST:增
PUT:改
GET:查
PATCH:部分更
DELETE:删
HEAD:改头信息
REST的HTTP Status
200:请求成功
400:错误请求
404:资源未找到
405:请求方式不允许
406:请求需要内容与响应内容类型不符
500:服务器内部错误
REST成熟度
3级:超媒体即应用状态引擎,连接其他API方法,让用户知道下一步该做什么
2级:HTTP动词
1级:引入资源
0级:
默认规则
默认所有组件都应该放在主程序所在的包及它的子包
Swagger
方便测试的一个可视化页面