
初学SpringBoot秒杀系统
初学SpringBoot入门项目
Smarticle
Happy and Tough
展开
-
SpringBoot秒杀系统:8.全局User对象注入
首先,前面利用token获取用户登录信息,并传输到页面。如果每个接口都进行一次这样的操作将非常多余,那么如何让每个接口自动的获取这个user对象呢?通过ArgumentReslover参数解析器识别该对象,利用WebMvcConfigurerAdapter接口中addArgumentResolvers方法自动注入参考:ArgumentReslover定义Controller下面是前面在接口中通过cookie中的token找到的user对象 @RequestMapping("/to_l原创 2020-10-11 11:40:07 · 1234 阅读 · 0 评论 -
SpringBoot秒杀系统:7.分布式Session设计
当存在多台服务器时,因为接口不一定映射到哪台服务器,所以利用本机原生Session是不可行的。本节将通过以下三步实现分布式Session1.为用户生成token作为该用户唯一标识2.将token与用户信息存入Redis中3.将此token存入用户cookie中,用户每次访问时携带进入生成token利用UUIDUUID.randomUUID().toString().replace("-", "")随机生成tokenpackage com.liuyang.seckill.util;impor原创 2020-10-11 11:39:57 · 393 阅读 · 0 评论 -
SpringBoot秒杀系统:6.全局异常处理
异常定义@ControllerAdvice@ResponseBody原创 2020-10-11 11:39:45 · 365 阅读 · 0 评论 -
SpringBoot秒杀系统:5.利用validation进行参数校验
引入validation依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>在实体类中加入限制注解 @NotNull private String mobile; .原创 2020-10-11 11:39:37 · 287 阅读 · 0 评论 -
SpringBoot秒杀系统:4.登陆功能设计
用户表DROP TABLE IF EXISTS `seckill_user`;CREATE TABLE `seckill_user` ( `id` bigint(20) unsigned NOT NULL COMMENT '用户ID', `nickname` varchar(255) NOT NULL, `password` varchar(32) DEFAULT NULL COMMENT 'MD5(MD5(pass明文+salt)+salt)', `salt` varchar(10.原创 2020-10-11 11:39:27 · 329 阅读 · 0 评论 -
SpringBoot秒杀系统:3.Redis配置
1.引入jedis和fastjson两个包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifa原创 2020-10-11 11:39:13 · 265 阅读 · 0 评论 -
SpringBoot秒杀系统:2.Mybatis连接数据库
引入包 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> .原创 2020-10-11 11:38:24 · 195 阅读 · 0 评论