初学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 · 1182 阅读 · 0 评论 -
SpringBoot秒杀系统:7.分布式Session设计
当存在多台服务器时,因为接口不一定映射到哪台服务器,所以利用本机原生Session是不可行的。本节将通过以下三步实现分布式Session 1.为用户生成token作为该用户唯一标识 2.将token与用户信息存入Redis中 3.将此token存入用户cookie中,用户每次访问时携带进入 生成token 利用UUIDUUID.randomUUID().toString().replace("-", "")随机生成token package com.liuyang.seckill.util; impor原创 2020-10-11 11:39:57 · 352 阅读 · 0 评论 -
SpringBoot秒杀系统:6.全局异常处理
异常定义 @ControllerAdvice @ResponseBody原创 2020-10-11 11:39:45 · 335 阅读 · 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 · 267 阅读 · 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 · 307 阅读 · 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 · 241 阅读 · 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 · 179 阅读 · 0 评论