Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

nodejs与springboot的区别 nodejs和spring框架_vue.js

环境需要

1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。

2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7版本;

6.是否Maven项目:是;

技术栈

后端:Spring+SpringMVC+Mybatis+Springboot

前端:vue+CSS+JavaScript+jQuery+elementui

nodejs与springboot的区别 nodejs和spring框架_spring cloud_02


nodejs与springboot的区别 nodejs和spring框架_vue.js_03

前台功能模块

  1. 分布式架构网上商城,在系统首页可以查看首首页、商品信息、购物资讯、个人中心、购物车等内容,并进行详细操作
  2. 用户注册, 在用户注册页面通过填写账号、密码、确认密码、姓名、手机、邮箱等信息进行注册操作
  3. 商品信息, 在商品信息页面可以查看商品名称、价格、单次购买、库存、商品类型、规格、上架时间、点击次数等内容进行购买、评论或收藏等操作
  4. 购物车 ,在购物车页面可以查看购买商品、价格、数量、总价等内容,进行删除或购买等操作
  5. 个人中心 ,在个人中心页面通过填写账号、密码、姓名、性别、手机、邮箱、图片、余额等内容进行更新信息等操作,并可以根据我的订单、我的地址或我的收藏进行相应的操作

    本系统主要包括管理员和用户两个角色组成,主要包括以下功能:
    1;前台:首页、商品信息、购物资讯、个人中心、购物车。
    2;管理员:首页、个人中心、用户管理、商品信息管理、商品分类管理、系统管理、订单管理。

管理员功能模块

  1. 管理员进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作
  2. 管理员登录系统后,可以对首页、个人中心、用户管理、商品信息管理、商品分类管理、系统管理、订单管理等功能进行相应的操作管理
  3. 用户管理 ,在用户管理页面可以对索引、账号、姓名、性别、手机、邮箱、头像等内容进行详情、修改或删除等操作
  4. 商品信息管理 ,在商品信息管理页面可以对索引、商品名称、商品类型、规格、上架时间、商品图片、价格、单限、库存等内容进行详情、查看评论、修改或删除等操作
  5. 商品分类管理 ,在商品分类管理页面可以对索引、类型等内容进行修改或删除等操作
  6. 系统管理, 在购物资讯页面中可以对索引、标题、图片等内容进行详情、修改或删除等操作,并可以根据轮播图管理进行相应的操作

nodejs与springboot的区别 nodejs和spring框架_vue.js_04

前台模块

(1)注册登录:用于会员注册的登录,登录时可以选择保存密码。

(2)商品浏览:对所有商品进行浏览以便选购。

(3)商品搜索:根据关键名词可以对所有的商品进行搜索。

(4 推荐商品:最受欢迎的商品展示给用户

(5)个人订单管理:对购买商品后的订单进行管理删除等处理。

(6)购物车:用户可以进行添加购物车,删除购物车等操作。

后台模块

(1)商品管理:包括商品的添加、修改删除、标记。管理商品分类且对商品数量进行统计。

(2)订单管理:管理员对订单的操作,发货后对订单做出发货标记。并且可以对订单统计生成销售报表。

(3)商品分类管理,对商品进行分类,方便用户根据分类查找所需的商品。

(4)会员管理:搜索查看会员信息。

nodejs与springboot的区别 nodejs和spring框架_node.js_05


nodejs与springboot的区别 nodejs和spring框架_spring cloud_06

`

/**
• 登录相关
 */
 @RequestMapping(“users”)
 @RestController
 public class UserController{
@Autowired
 private UserService userService;
@Autowired
 private TokenService tokenService;
/**• 登录
 */
 @IgnoreAuth
 @PostMapping(value = “/login”)
 public R login(String username, String password, String captcha, HttpServletRequest request) {
 UserEntity user = userService.selectOne(new EntityWrapper().eq(“username”, username));
 if(user==null || !user.getPassword().equals(password)) {
 return R.error(“账号或密码不正确”);
 }
 String token = tokenService.generateToken(user.getId(),username, “users”, user.getRole());
 return R.ok().put(“token”, token);
 }/**
• 注册
 */
 @IgnoreAuth
 @PostMapping(value = “/register”)
 public R register(@RequestBody UserEntity user){
 // ValidatorUtils.validateEntity(user);
 if(userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername())) !=null) {
 return R.error(“用户已存在”);
 }
 userService.insert(user);
 return R.ok();
 }/**
• 退出
 */
 @GetMapping(value = “logout”)
 public R logout(HttpServletRequest request) {
 request.getSession().invalidate();
 return R.ok(“退出成功”);
 }/**
• 密码重置
 */
 @IgnoreAuth
 @RequestMapping(value = “/resetPass”)
 public R resetPass(String username, HttpServletRequest request){
 UserEntity user = userService.selectOne(new EntityWrapper().eq(“username”, username));
 if(user==null) {
 return R.error(“账号不存在”);
 }
 user.setPassword(“123456”);
 userService.update(user,null);
 return R.ok(“密码已重置为:123456”);
 }/**
• 列表
 */
 @RequestMapping(“/page”)
 public R page(@RequestParam Map<String, Object> params,UserEntity user){
 EntityWrapper ew = new EntityWrapper();
 PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
 return R.ok().put(“data”, page);
 }/**
• 列表
 */
 @RequestMapping(“/list”)
 public R list( UserEntity user){
 EntityWrapper ew = new EntityWrapper();
 ew.allEq(MPUtil.allEQMapPre( user, “user”));
 return R.ok().put(“data”, userService.selectListView(ew));
 }/**
• 信息
 */
 @RequestMapping(“/info/{id}”)
 public R info(@PathVariable(“id”) String id){
 UserEntity user = userService.selectById(id);
 return R.ok().put(“data”, user);
 }/**
• 获取用户的session用户信息
 */
 @RequestMapping(“/session”)
 public R getCurrUser(HttpServletRequest request){
 Long id = (Long)request.getSession().getAttribute(“userId”);
 UserEntity user = userService.selectById(id);
 return R.ok().put(“data”, user);
 }/**
• 保存
 */
 @PostMapping(“/save”)
 public R save(@RequestBody UserEntity user){
 // ValidatorUtils.validateEntity(user);
 if(userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername())) !=null) {
 return R.error(“用户已存在”);
 }
 userService.insert(user);
 return R.ok();
 }/**
• 修改
 */
 @RequestMapping(“/update”)
 public R update(@RequestBody UserEntity user){
 // ValidatorUtils.validateEntity(user);
 userService.updateById(user);//全部更新
 return R.ok();
 }/**
• 删除
 */
 @RequestMapping(“/delete”)
 public R delete(@RequestBody Long[] ids){
 userService.deleteBatchIds(Arrays.asList(ids));
 return R.ok();
 }
 }
 `


  • 目录
    1 绪论 1
    1.1课题背景 1
    1.2课题研究现状 1
    1.3初步设计方法与实施方案 2
    1.4本文研究内容 2
    2 系统开发环境 4
    2.1 使用工具简介 4
    2.2 环境配置 4
    2.3 B/S结构简介 4
    2.4 MySQL数据库 5
    2.5 框架介绍 5
    3 系统分析 6
    3.1系统可行性分析 6
    3.1.1经济可行性 6
    3.1.2技术可行性 6
    3.1.3运行可行性 6
    3.2系统现状分析 6
    3.3功能需求分析 7
    3.4系统设计规则与运行环境 8
    3.5系统流程分析 8
    3.5.1操作流程 8
    3.5.2添加信息流程 9
    3.5.3删除信息流程 10
    4 系统设计 11
    4.1系统设计主要功能 11
    4.2数据库设计 11
    4.2.1数据库设计规范 11
    4.2.2 E/R图 11
    4.2.3数据表 12
    5 系统实现 25
    5.1系统功能模块 25
    5.2后台模块 27
    5.2.1管理员功能模块 27
    5.2.2用户功能模块 30
    6 系统测试 33
    6.1功能测试 33
    6.2可用性测试 33
    6.3性能测试 34
    6.4测试结果分析 34
    7结 论 35
    参考文献 36
    致 谢 37