点击上方蓝色字体,关注我们
15
上篇文章介绍了Spring Boot初级教程:
SpringBoot框架入门篇(一)
,方便大家快速入门、了解实践Spring Boot特性 。 本篇文章是接着上篇文章为大家介绍SpringBoot的其他特性。SpringBoot Web开发非常简单,包括json输出、自定义filter、property、data操作等。
工具:Eclipse
项目工程:maven工程
项目结构图
搭建步骤
1) 添加pom.xml文件
2) 添加配置文件
3) 添加实体类和Dao
4) DAO类
5) Controller类
只需要类添加 @RestController 即可,默认类中的方法都会以json的格式返回。
6) 启动类Application
启动类运行main方法,
在浏览器访问:
localhost:8080/user/getuser
自定义过滤器
我们常常在项目中会使用filters用于记录调用日志、排除有XSS威胁的字符、执行权限验证等等。
1) 实现Filter接口,实现Filter方法。
2) 添加 @Configuration 注解,将自定义Filter加入过滤链。
配置类使用
在web开发的过程中,我们经常需要自定义一些配置文件,如何使用呢?
配置在application.properties中
com.neo.title=码农新锐
com.neo.description=分享技术
配置类
配置类的应用
常见问题
SpringBootWeb框架搭建时遇到路径问题?
这里需要注意Application启动类的位置,它的位置决定了它开启的时候是否能扫描bean、controller等,它主要扫描它所在的包目录及子目录。
Spring Data Repositories介绍
让我们从 JpaRepository 开始 - 它扩展了PagingAndSortingRepository,反过来又扩展了CrudRepository。
其中每个接口都定义了自己的功能。
因此,由于这种继承关系,JpaRepository包含CrudRepository和PagingAndSortingRepository的完整API 。(通过下面图可以看到继承关系)
JpaRepository接口
1) findAll() - 获取实体的列表。
2) findAll(...) - 获取实体的列表,并使用提供的条件对它们进行排序。
3) save(...) - 批量保存。
4) flush() - 刷新对数据库的所有挂起更改。
5) saveAndFlush(...) -保存实体并立即刷新更改。
6) deleteInBatch(...) -删除一个可迭代的实体。在这里,我们可以传递多个对象来批量删除它们。
显然,上面的接口延伸
PagingAndSortingRepository这意味着它有存在于所有方法CrudRepository。
CrudRepository接口
1) save(...) - 在这里,我们可以传递多个对象以批量保存它们。
2) findOne(...) - 根据传递的主键值获取单个实体。
3) findAll() - 获取数据库中所有可用实体的Iterable。
4) count() - 计算表中总实体的数量。
5) delete(...) - 根据传递的对象删除实体。
6) exists(...) - 根据传递的主键值验证实体是否存在。
这个接口看起来非常通用和简单,但实际上,它提供了应用程序所需的所有基本查询抽象。
PagingAndSortingRepository接口
该接口提供了一个方法findAll(可分页可分页),这是实现分页的关键。
因此,我们假设要显示按age排序的结果集的第一页,升序,每个不超过五个记录。这是我们使用PageRequest和Sort定义实现此目的的方法:
将可分页对象传递给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
复制链接到浏览器查阅。