SpringBoot Web篇(二)

SpringBoot Web篇(二)_第1张图片

点击上方蓝色字体,关注我们

15


上篇文章介绍了Spring Boot初级教程:

SpringBoot框架入门篇(一

,方便大家快速入门、了解实践Spring Boot特性 本篇文章是接着上篇文章为大家介绍SpringBoot的其他特性。

SpringBoot Web篇(二)_第2张图片

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


工具:Eclipse

项目工程:maven工程

项目结构图

SpringBoot Web篇(二)_第3张图片

搭建步骤


1) 添加pom.xml文件


SpringBoot Web篇(二)_第4张图片


2) 添加配置文件



SpringBoot Web篇(二)_第5张图片


3) 添加实体类和Dao


SpringBoot Web篇(二)_第6张图片

4) DAO类


SpringBoot Web篇(二)_第7张图片


5) Controller


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

SpringBoot Web篇(二)_第8张图片


6) 启动类Application


SpringBoot Web篇(二)_第9张图片


启动类运行main方法,

在浏览器访问:

localhost:8080/user/getuser


自定义过滤器


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

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

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

SpringBoot Web篇(二)_第10张图片

SpringBoot Web篇(二)_第11张图片

配置类使用


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

配置在application.properties中

       com.neo.title=码农新锐

       com.neo.description=分享技术


配置类

SpringBoot Web篇(二)_第12张图片

配置类的应用

SpringBoot Web篇(二)_第13张图片


常见问题


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


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


Spring Data Repositories介绍


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

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

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


JpaRepository接口


SpringBoot Web篇(二)_第14张图片

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

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

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

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

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

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


显然,上面的接口延伸

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


CrudRepository接口


SpringBoot Web篇(二)_第15张图片

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

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

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

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

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

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


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


PagingAndSortingRepository接口


SpringBoot Web篇(二)_第16张图片

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

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

SpringBoot Web篇(二)_第17张图片

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

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


其他方法我们可以参考官方Api:

https://docs.spring.io/spring-data/jpa/docs/2.0.3.RELEASE/api/org/springframework/data/jpa/repository/JpaRepository.html


本文中的代码在这里:

https://github.com/xiaonongOne/SpringBoot-Web

复制链接到浏览器查阅。


SpringBoot Web篇(二)_第18张图片
SpringBoot Web篇(二)_第19张图片


你可能感兴趣的:(SpringBoot Web篇(二))