前边使用DAO层以及Spring Data的神奇之处,都是基于我们在项目开始的时候选择了Spring Data,也就是pom.xml里的如下依赖: <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId
JPA DAO实现 使用JPA标准的DAO层有很大好处就是不依赖于具体供应商的实现,可以很方便的切换到其他也支持JPA的软件上去。 JPA API有点像原生的Hibernate API,也支持一种叫做JPQL的查询语言。为何两者很像,是因为Hibernate是实际上的JPA规范推动者。 这里简单的看
这里我们要用三种DAO实现方法来编写增删改查项目,大部分的内容之前都编写过,这里就是看如何使用Spring Boot来支撑这个项目和配置一些DAO方面的内容。 项目设计 了解了基础知识之后,就是用Spring Boot来写一个增删改查程序了,而且要用到REST API,设计如下: 方法 路径 操作
Spring Boot相信在接触Spring的过程中听到了很多次,其实就是一个用来简化Spring应用开发的初始搭建和开发过程,在之前我们无论是使用Spring还是Spring MVC或者Spring Security,总要先进行各种各样的配置,而且很多配置也依然是模板化的。 约定大于配置逐渐成为了
在之前学习RestController的时候,其实已经将原来的项目的查询功能对外提供了API。这次先来看看API的设计思路,然后继续升级其他部分的API。 REST API 设计 REST API设计是一个很广泛的话题,与业务关联很大,一般有如下步骤: 了解API的相关需求 以我们的增删改查项目来说
想要通过Spring返回JSON字符串作为HTTP的响应体,一个比较简便的方法是使用Spring特殊的REST控制器。 REST服务在HTTP中的使用常见于如下: HTTP请求类型 CRUD操作对应 POST Create GET Retrieve单个或者对象结果集合 PUT 更新一个存在的对象 D
两大传统艺能学习完毕了,其中Spring Security还需要深入一下,呃,其实是整个Spring都还需要再深入学习。 光有了前边的两大传统艺能,如果还是使用JSP来开发页面,还没有做到前后端分离,还是拿着传统艺能在做传统的事情。 REST具体是什么就不多说了,在Django时代已经用过一次了。现
在数据库中存储密文密码 很显然,实际开发中绝对不能使用明文密码,否则数据泄露的可能性非常大。 Spring Security针对密码推荐bcrypt算法,bcrypt算法可以一次性计算好hash后的值,自动加随机的盐,可以防止暴力破解。是一个使用广泛的算法。 密码学在计算机科学出现之前就有了,而哈希
使用数据库存储用户信息和角色 观察我们的配置类可以发现,我们目前把所有的用户名,密码和角色信息都硬编码在配置类里。角色名一旦有变动,需要修改全部代码中对应的这个角色名。这显然不够好。更常见的做法是用数据库来存储相关的内容。每次进行验证的时候,到数据库中去存取数据。 Spring Security支持
用户角色权限 对于Web开发来说,包括后边要用到的REST风格,权限就是基于用户的身份,能够访问哪些URL,因为在REST风格下URL意味做一个动作然后获得结果。 按照教程,目前我们已经在Spring Security的配置类里配置了一些角色如下: 姓名 角色 jenny ADMIN, MANAGE