0,前言
经过前面两章的练习,对springboot应该有一些概念了。本章来考虑一个实际可能会发生的例子。假设有这么一个社交APP,要求用户输入手机号、密码来登录,如果手机号未注册则使用该手机号、密码来注册;如果手机号己经注册,则用提供的密码来验证身份。以下为具体实现过程,实现过程忽略了手机号的验证过程。
1,MongoDB
用户注册信息自然不能保存在内存中,不然的话重启应用数据就都没了。保存数据的方式有很多种,以下我们假设将用户注册信息保存到MongoDB中。
A,安装MongoDB
不同平台的安装有一些差异,具体参考https://docs.mongodb.com/manual/administration/install-community/。
B,新建userInfo库,创建操作用户并援权
MongoDB安装好启动,使用超级用户登录。
use userInfo
db.createUser({user:"用户名",pwd:"密码",roles:[{role: "dbOwner", db: "userInfo"}]})
C,增加项目依赖
修改项目根目录下的build.gradle文件,增加下面一行:
implementation'org.springframework.boot:spring-boot-starter-data-mongodb'
D,添加配置
修改resources目录下的application.yml文件,添加以下配置项(用户名、密码需与前面创建时一致。):
![](https://img.haomeiwen.com/i15056259/21c579922f677571.png)
2,增加包层次结构
按分层结构,增加包、接口、类。具体如下:
![](https://img.haomeiwen.com/i15056259/9efbdcd84abe13cd.png)
3,在UserInfoController中增加UserInfoService引用,增加一个方法用于处理登录入口。
![](https://img.haomeiwen.com/i15056259/5de2fedc8ff7b682.png)
4,Service具体实现,逻辑看注解。
![](https://img.haomeiwen.com/i15056259/5828f27bd1057680.png)
5,Dao具体实现依赖于MongoTemplate
![](https://img.haomeiwen.com/i15056259/61d1d66c6ee3de18.png)
6,实体类UserInfo
![](https://img.haomeiwen.com/i15056259/3c0b84fba118a468.png)
7,运行项目,启动Postman测试。
![](https://img.haomeiwen.com/i15056259/5b23631d6bfebf50.png)
![](https://img.haomeiwen.com/i15056259/7ea93c44951dcb0b.png)
![](https://img.haomeiwen.com/i15056259/b2433f65b3138851.png)
![](https://img.haomeiwen.com/i15056259/4e3e5f34932d112d.png)
8,以上就全部内容,有不明事项请留言。
网友评论