Java苍穹外卖01-开发环境搭建(Git、nginx)-Swagger-员工管理

一、开发环境搭建

1.项目架构

2.Git版本管理

在IDEA中可以一键搭建并commit,当Git远程仓库搭建后就可以push

3.前后端联调

Builder注解:

加了注解后就可以通过这样的方式创建对象

接收传入的是dto对象,传出去的对象为vo对象

4.nginx反向代理

对于第一条:请求nginx的时候,在nginx可以作缓存,如果请求同样接口地址,就无需再请求真正后端程序,在nginx处就将缓存数据返回给前端。

对于第二条:当有大量请求的时候nginx就可以将请求分配到多台服务器上。

对于第三条:前端不直接访问到后端服务器,可以保证安全

配置:(nginx.conf)

upstream中配置的就是集群中服务器的ip

负载均衡有不同策略,不指定就是默认轮询

5.完善登录功能

只能从左到右,不能解码,想要比对需要将密码再次MD5加密后进行比对

二、导入接口文档

1.前后端分离流程

2.Swagger

使用方式:

配置是在server模块中的config包中

basePackage是扫描接口的包有哪些,不能写错了

没有设置静态资源映射,网页就会以为是动态请求某个controller

运行后,可以登录localhost:8080/doc.html,可以查看接口文档

常用注解:

加上注解信息会在swagger静态页面打开后会有相应的信息便于查看接口文档

三、新增员工

1.需求分析

登录后进行密码修改

admin是来区分管理端和用户端

2.代码开发

controller:

service:

mapper:

3.测试:

在接口文档测试:
记得新增token的全局参数,不然报错

4.代码完善

当新增员工已存在时:报下面的错误,要给前端抛出相应的信息

在异常处理器中要捕获异常处理:

第二个问题:

如何动态获得登录用户的ID

登录后会生成JWT令牌给前端,在后续请求中token会携带JWT令牌,在拦截器中会进行拦截,如何传递JWT令牌

ThreadLocal

一次请求就是一个线程,可以有一个空间,存储需要的值

定义一个含ThreadLocal成员变量的静态方法类:

四、员工分页查询

1.需求分析

2.代码开发:

controller:

service:

注意这里的:PageHelper插件可以让在写SQL语句的时候不用加limit关键字语句。
实现原理:它的startPage方法将传入的页码和每页记录数传进去,其中有个setLocalPage会将这些信息存储到一个ThreadLocal对象中去,然后在分页查询之前通过这个对象将页码记录数取出来并动态把limit关键字拼进去,将页码和每页记录数算出来拼进去。

mapper:

xml文件:

3.功能测试

操作时间格式不太对

4.代码完善-消息转换器

SpringMVC是SSM框架中整个应用程序与用户交互的前端接口,可以接受用户请求并根据配置映射到相应的controller中去;可以将请求参数绑定到Java对象中去,使用消息转换器可以将不同文件序列化成Java对象;其还有着拦截器和全局异常处理器的作用

通过继承WebMvcConfigurationSupport这个类,就可以自定义MVC中的一些配置。在这里就创建了消息转化器对象并为其添加了对象转换器,其中包含了对LocaDateTime,LocalDate,LocalTime数据的格式。然后添加到converts中的0位置后就可以统一使用这些格式返回给前端。

五、启用禁用员工账号

1.需求分析

2.代码开发

对于对数据进行操作的请求不需要返回Result的泛型,而查询类似的需要返回

controller:

service:

这里可以使用builder方法构造对象。

mapper:

xml映射文件:

注意呀:大括号以及,动态会自动删除,

parameterType是指传入的参数类型,resultType指的是传出的参数类型,这里是传入employee Java对象然后对其指进行提取所以是parameterType。貌似可以不设置,会自动判断。

这里使用动态SQL的原因在于,虽然这里只需要修改status可以通过注解,但是以后如果涉及到修改员工属性的操作可以直接使用这个方法,动态要修改的值。

六、编辑员工

1.需求分析

编辑员工需要回显员工信息,之后填写新信息后进行信息的修改所以需要两步

2.代码开发

根据id查询员工:

controller:

service:

 

这里设置密码为****是因为编辑员工信息不需要密码,进一步保护

mapper:

修改员工信息:
controller:

service:

mapper:
调用启用禁用员工账号中编写的update方法,因为其采用了动态SQL就可以只要涉及修改都可以使用。

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值