个人技术总结

Spring Boot Web初步

1.技术概述

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架

2.技术详述

个人技术总结_第1张图片

SpringBoot Web开发非常简单,包括json输出、自定义filterp****ropertyd****ata操作等。

工具:Eclipse

项目工程:maven工程

项目结构图

个人技术总结_第2张图片

搭建步骤

  1. 添加pom.xml文件

个人技术总结_第3张图片

  1. 添加配置文件

个人技术总结_第4张图片

  1. 添加实体类和Dao

个人技术总结_第5张图片

  1. DAO类

个人技术总结_第6张图片

  1. Controller类

只需要类添加 @RestController 即可,默认类中的方法都会以json的格式返回。

个人技术总结_第7张图片

  1. 启动类Application

![]E6F]F9X_P](https://mmbiz.qpic.cn/mmbiz_png/ibIJbiaY94icK8qPMEYVnvPLKaibbkNibpnJ4flib0PmC1utXxOVqBmHj03hA0q26T6libvSJB2PicIIltIibcIvHoJbdJg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)

自定义过滤器

我们常常在项目中会使用filters用于记录调用日志、排除有XSS威胁的字符、执行权限验证等等。

  1. 实现Filter接口,实现Filter方法。

  2. 添加 @Configuration 注解,将自定义Filter加入过滤链。

个人技术总结_第8张图片

个人技术总结_第9张图片

配置类使用

在web开发的过程中,我们经常需要自定义一些配置文件,如何使用呢?

配置在application.properties中

​ com.neo.title=码农新锐

​ com.neo.description=分享技术

配置类

个人技术总结_第10张图片

配置类的应用

个人技术总结_第11张图片

Spring Data Repositories介绍

让我们从 JpaRepository 开始 - 它扩展了PagingAndSortingRepository,反过来又扩展了CrudRepository。

其中每个接口都定义了自己的功能。

因此,由于这种继承关系,JpaRepository包含CrudRepository和PagingAndSortingRepository的完整API 。(通过下面图可以看到继承关系)

图片12.png

图片13.png

JpaRepository接口

个人技术总结_第12张图片

  1. findAll() - 获取实体的列表。

  2. findAll(...) - 获取实体的列表,并使用提供的条件对它们进行排序。

  3. save(...) - 批量保存。

  4. flush() - 刷新对数据库的所有挂起更改。

  5. saveAndFlush(...) -保存实体并立即刷新更改。

  6. deleteInBatch(...) -删除一个可迭代的实体。在这里,我们可以传递多个对象来批量删除它们。

显然,上面的接口延伸

PagingAndSortingRepository这意味着它有存在于所有方法CrudRepository。

CrudRepository接口

个人技术总结_第13张图片

  1. save(...) - 在这里,我们可以传递多个对象以批量保存它们。

  2. findOne(...) - 根据传递的主键值获取单个实体。

  3. findAll() - 获取数据库中所有可用实体的Iterable。

  4. count() - 计算表中总实体的数量。

  5. delete(...) - 根据传递的对象删除实体。

  6. exists(...) - 根据传递的主键值验证实体是否存在。

这个接口看起来非常通用和简单,但实际上,它提供了应用程序所需的所有基本查询抽象。

PagingAndSortingRepository接口

个人技术总结_第14张图片

该接口提供了一个方法findAll(可分页可分页),这是实现分页的关键

因此,我们假设要显示按age排序的结果集的第一页,升序,每个不超过五个记录。这是我们使用PageRequestSort定义实现此目的的方法:

个人技术总结_第15张图片

将可分页对象传递给Spring数据查询将返回有问题的结果

PageRequest的第一个参数从零开始)。

3.问题与解决

SpringBootWeb框架搭建时遇到路径问题?

这里需要注意Application启动类的位置,它的位置决定了它开启的时候是否能扫描bean、controller等,它主要扫描它所在的包目录及子目录。

4.技术总结

spring boot设计的目的就是为了简化基于spring的开发,开启各种插件配置。之前开发springmvc或者ssh,都需要手动配置很多文件,以及解决各种maven jar冲突,这不但配置繁琐,而且调试冲突问题花的时间很多。spring boot能够引入jar 依赖,就能快速建立项目并正常运行,目前spring boot的更新速度比较快。spring boot是下一代javaweb框架,是spring cloud微服务的基础。

5.参考文献

1.spring boot学习总结 作者: 金麟十三少

2.spring boot 搭建web项目完整流程 作者 :行走的code

你可能感兴趣的:(个人技术总结)