美文网首页
spring-boot

spring-boot

作者: 五十米_深蓝 | 来源:发表于2018-12-31 23:16 被阅读6次

一、简介
1、springboot是spring家族中的一个框架,能够简化spring应用程序的创建和开发(抛弃繁琐的xml配置,采用大量的默认配置)。
2、能够快速创建基于spring框架的应用程序。
二、特性
1、快速创建基于spring框架的应用程序。
2、能够直接使用Java main方法启动内嵌的Tomcat服务器运行springboot程序,不需要部署war包文件。
3、提供约定的starter Pom来简化maven配置。
4、根据maven依赖配置,springboot自动配置spring、springmvc等。
5、完全不适用xml配置文件,采用注解配置。
6、提供了程序的健康检查等功能。
三、核心
1、自动配置(自动提供spring等相关配置)
2、起步依赖:根据Pom配置,引入所有的依赖库(也是缺点之一,引入的jar太多)
3、Actuator(健康检查):程序内部运行信息;
4、命令行界面:可选特性,主要针对Groovy语言使用。
四、开发环境
1、eclipse需要安装STS插件,IDEA自带springboot插件。
五、springboot入门程序
1、新建spring initialzr模块;
2、POM配置
(1)起步依赖


image.png

(2)属性配置


image.png
(3)父级依赖(依赖项的版本可以由此继承)
image.png
3、创建springboot的入口main方法
image.png
4、handle编写
image.png
3、程序解析
(1) image.png
(2)@SpringBootApplication注解是springboot项目的核心注解,主要作用是开启spring自动配置。
注:其他类必须在main方法的同一级别或者级别之下才能被扫描。
(3) image.png
(4) image.png
六、springboot的核心配置文件(两种格式)
1、.properties文件
键值对的properties属性配置文件:
image.png
2、.yml文件
空格与换行等进行格式排版,冒号之后必须有一个空格;
image.png
3、多环境配置文件

生产环境配置、开发环境配置、测试环境配置等;


image.png
4、自定义配置读取
image.png
(1)读取自定义配置方式1(spring也是此方式):
image.png
image.png
(2)读取自定义配置方式2:
image.png
image.png
七、springboot下的springmvc
1、@Controller
即为springmvc的注解,处理http请求的;
2、@RestController
是@Controller与@ResponseBody的组合注解,用于返回字符串和json;
image.png
3、@GetMapping
@RequestMapping和Get请求方法的组合;
image.png
4、@PostMapping
@RequestMapping和Post请求方法的组合;
[图片上传中...(image.png-8546c3-1545663301700-0)]
5、PutMapping(修改更新请求)
@RequestMapping和Put请求方法的组合;
6、DeleteMapping(删除请求)
@RequestMapping和Delete请求方法的组合;
八、springboot使用jsp
1、引入内嵌tomcat对jsp的支持jar包,依赖其他jsp依赖的jar包;
image.png
2、在springboot配置文件中配置jsp的前缀后缀;
image.png
3、项目打包后目录结构设置
image.png
image.png
九、springboot继承mybatis
1、加载mybatis整合springboot的包以及数据库驱动包;
image.png
2、在springboot配置中指定mybatis的mapper.xml文件所在位置以及数据库的连接信息;
image.png
3、在mybatis的Mapper接口中添加@Mapper注解或者在运行的主类上添加@MapperScan(“mapper所在包”)注解进行扫描;
image.png
image.png
4、mybatis代码自动生成插件;
image.png
5、@Service注解
image.png
十、springboot事物植萃
1、springboot开启事物支持
image.png

2、在访问数据库的Service方法上添加注解@Transactional


image.png
十一、springboot实现RestFull
1、RestFull:互联网软件架构设计风格,使得设计的接口可以更简洁、更有层次;
image.png
2、springboot开发RestFull
(1)获取url中的数据
通过注解@PathVariable指定url请求方法的形参;
image.png
(2)增强post、get、put、delete等方法
image.png
十二、springboot的热部署插件
修改代码后,服务器自动重启加载新修改的内容,提高开发效率;
1、热部署插件依赖加载
image.png
十三、springboot集成Redis
1、springboot集成Redis的起步依赖加载
image.png
2、在springboot核心配置文件配置Redis连接信息
image.png
3、springboot自动配置Redis Template、在需要操作Redis的类中注入Redis Template;
image.png
4、实际应用场景
image.png
注:网络传输与磁盘储存的时候必须实现序列化接口,Redis查询(缓存)返回的的pojo对象也必须实现序列化接口。
image.png
Redis中key的可读性提升:
image.png
5、高并发条件下缓存穿透问题处理
(1)问题:例如10000个人并发,当都没查询到Redis缓存时,都去取数据库,导致数据库压力过大而崩溃。
(2)解决方式1(声明方法为同步代码块):
image.png
(3)解决方式2(双重检测锁):
image.png
(4)多线程测试缓存穿透问题
image.png
6、Redis哨兵模式
image.png
(1)springboot核心配置中声明
image.png
十四、springboot继承dubbo
1、集成前准备
(1)在GitHub上下载阿里开源项目dubbo的jar包;
(2)添加dubbo的起步依赖
image.png
2、正式集成
(1)dubbo接口开发完成之后install成jar包(在本地仓库)
image.png
(2)dubbo提供者开发
加载dubbo的jar包:
image.png
在springboot核心配置文件配置dubbo:
image.png
加载zookeeper客户端依赖jar包:
image.png
dubbo接口项目的jar包依赖:
image.png
main方法开启dubbo自动配置以及在service实现层:
image.png
image.png
(3)dubbo消费者开发
和生产者开发类似,Pom中加入dubbo的起步依赖;在springboot核心配置中配置dubbo信息;Pom中加入zookeeper客户端的依赖包;Pom加载之前开发的接口jar包;在main方法上加上开启dubbo自动配置支持注解@EnableDubboConfiguration;
在消费者消费时通过注解@Reference注解调用dubbo的远程服务:
image.png
十五、springboot使用拦截器
1、按照springmvc方式编写拦截器
(1)实现HandlerInterceptor接口
2、编写一个配置类继承WebMvcConfigurerAdapter类:
通过重写addInterceptors方法,注册一个拦截器;
image.png
十六、springboot使用servlet
1、方式1:
使用注解@WebServlet(urlPatterns="/path")方式编写一个Servlet
image.png
在main方法主类上添加注解:@ServletComponentScan(basePackage="扫描的包路径")
image.png
2、方式2:
编写一个普通的servlet类(继承HttpServlet类):
image.png
编写一个springboot的配置类:
image.png
十七、springboot使用Fliter(可以拦截jsp)
1、方式1:
使用注解@WebFliter(urlPatterns="/path")方式编写一个过滤器:
image.png
在main方法主类上添加注解:@ServletComponentScan(basePackage="扫描的包路径")
2、方式2:
编写一个普通的Fliter类(实现Fliter接口):
编写一个springboot的配置类:
image.png
十八、springboot字符编码处理
1、传统方式:spring提供的字符编码过滤器:
image.png
image.png
2、springboot核心配置文件中配置字符编码:
image.png
十九、springboot非web应用程序开发
不启动内嵌的Tomcat

1、方式1(推荐):


image.png
2、方式2:
image.png
二十、springboot日志Logo处理
1、关闭springboot logo图形日志输出
image.png
二十一、springboot程序部署war包(常用)
1、在Pom.xml文件中修改<packaging>war</packaging>,配置springboot打包的插件;
image.png
2、springboot入口主程序类继承SpringBootServletInitializer类,重写SpringApplicationBuilder方法;
image.png
二十二、springboot发布jar包部署(内嵌的Tomcat)
image.png
二十三、springboot部署及打包总结
image.png
二十四、springboot集成Thymeleaf模板
1、Thymeleaf:流行的模板引擎,采用Java语言开发;Java生态下的模板引擎有Velocity和Thymeleaf等;springboot很好的集成了这种模板技术,作为前端页面的数据显示。它基于HTML。以HTML标签为载体,Thymeleaf要寄托在HTML标签下实现对数据的显示。
2、集成步骤
(1)pom加载Thymeleaf的起步依赖
image.png
(2)springboot核心配置中配置Thymeleaf信息
image.png
(3)在src/main/resources的Templates下面新建模板页面;
image.png
(4)Thymeleaf语法可自行学习了解;
3、
4、
5、
二十五、
1、
2、

相关文章

网友评论

      本文标题:spring-boot

      本文链接:https://www.haomeiwen.com/subject/cgetlqtx.html