案例169基于Spring Boot的工厂车间管理系统设计与实现

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

目录

功能描述

系统设计

功能展示

实现代码

为什么选择我?

项目推荐

获取源码


结尾名片获取源码

开发语言:Java

框架:SpringBoot

持久化框架:Mybatis-plus

JDK版本:JDK1.8

服务器:tomcat7\8\9

数据库:mysql 5.7以上

数据库工具:Navicat11以上

开发软件:eclipse/myeclipse/idea

Maven:Maven3.5.4

浏览器:谷歌浏览器\Edge

功能描述

社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套基于VUE的工厂车间管理系统,有管理员和人员两个角色。管理员功能有个人中心,人员管理,看板信息管理,设备信息管理,生产开立管理,生产工序管理,生产流程管理。注册的人员可以登录和查看管理员发布的所有信息。基于VUE的工厂车间管理系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。这样就让用户用着方便快捷,都通过同一个后台进行业务处理,而后台又可以根据并发量做好部署,用硬件和软件进行协作,满足于数据的交互式处理,让用户的数据存储更安全,得到数据更方便。

关键基于VUE的工厂车间管理系统;Spring Boot框架;Java;MySQL

系统设计

在管理员功能模块确定下来的基础上,对管理员各个功能进行设计,确定管理员功能的详细模块。绘制的管理员功能结构见下图。管理员功能有个人中心,用户管理,看板信息管理,设备信息管理,订单管理,系统管理。

 

功能展示

管理员可以对人员信息进行添加,修改,删除,查询操作。

 管理员可以对看板信息信息进行添加,修改,删除,查询操作。

 管理员可以对设备信息进行添加,修改,删除,查询操作。

 管理员可以查看,修改,删除,查询生产开立信息。

 人员可以对生产开立信息进行添加,修改,删除,查询操作。

 人员可以对生产工序信息进行进行添加,修改,删除,查询操作。

 人员可以对生产流程信息进行进行添加,修改,删除,查询操作。

 

实现代码

Controller层


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@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<UserEntity>().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<UserEntity>().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<UserEntity>().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<UserEntity> ew = new EntityWrapper<UserEntity>();
    	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<UserEntity> ew = new EntityWrapper<UserEntity>();
      	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<UserEntity>().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();
    }
}

Dao层


package com.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.entity.UserEntity;

/**
 * 用户
 */
public interface UserDao extends BaseMapper<UserEntity> {
	
	List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);

	List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);
	
}

Server层


package com.service;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.entity.UserEntity;
import com.utils.PageUtils;


/**
 * 系统用户
 */
public interface UserService extends IService<UserEntity> {
 	PageUtils queryPage(Map<String, Object> params);
    
   	List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);
   	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);
	   	
}

package com.service.impl;


import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.dao.UserDao;
import com.entity.UserEntity;
import com.service.UserService;
import com.utils.PageUtils;
import com.utils.Query;


/**
 * 系统用户
 */
@Service("userService")
public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements UserService {

	@Override
	public PageUtils queryPage(Map<String, Object> params) {
		Page<UserEntity> page = this.selectPage(
                new Query<UserEntity>(params).getPage(),
                new EntityWrapper<UserEntity>()
        );
        return new PageUtils(page);
	}

	@Override
	public List<UserEntity> selectListView(Wrapper<UserEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public PageUtils queryPage(Map<String, Object> params,
			Wrapper<UserEntity> wrapper) {
		 Page<UserEntity> page =new Query<UserEntity>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
	}
}

权限验证

package com.interceptor;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;

import com.annotation.IgnoreAuth;
import com.entity.EIException;
import com.entity.TokenEntity;
import com.service.TokenService;
import com.utils.R;

/**
 * 权限(Token)验证
 */
@Component
public class AuthorizationInterceptor implements HandlerInterceptor {

    public static final String LOGIN_TOKEN_KEY = "Token";

    @Autowired
    private TokenService tokenService;
    
	@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        //支持跨域请求
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization");
        response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));

        IgnoreAuth annotation;
        if (handler instanceof HandlerMethod) {
            annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);
        } else {
            return true;
        }

        //从header中获取token
        String token = request.getHeader(LOGIN_TOKEN_KEY);
        
        /**
         * 不需要验证权限的方法直接放过
         */
        if(annotation!=null) {
        	return true;
        }
        
        TokenEntity tokenEntity = null;
        if(StringUtils.isNotBlank(token)) {
        	tokenEntity = tokenService.getTokenEntity(token);
        }
        
        if(tokenEntity != null) {
        	request.getSession().setAttribute("userId", tokenEntity.getUserid());
        	request.getSession().setAttribute("role", tokenEntity.getRole());
        	request.getSession().setAttribute("tableName", tokenEntity.getTablename());
        	request.getSession().setAttribute("username", tokenEntity.getUsername());
        	return true;
        }
        
		PrintWriter writer = null;
		response.setCharacterEncoding("UTF-8");
		response.setContentType("application/json; charset=utf-8");
		try {
		    writer = response.getWriter();
		    writer.print(JSONObject.toJSONString(R.error(401, "请先登录")));
		} finally {
		    if(writer != null){
		        writer.close();
		    }
		}
//				throw new EIException("请先登录", 401);
		return false;
    }
}

为什么选择我?

选择我作为您的毕业设计系统开发伙伴,是基于以下几个关键理由:

  1. 专业经验:我拥有丰富的软件开发经验,特别是在教育技术和信息系统方面。我了解毕业设计流程的复杂性,能够针对性地提供解决方案,确保系统的实用性和高效性。

  2. 定制化服务:我明白每个教育机构都有其独特的需求和挑战。我将与您紧密合作,深入了解您的具体要求,从而开发出完全符合您需求的定制化系统。

  3. 技术专长:我对最新的编程语言和开发工具有深入的了解,能够运用先进的技术来构建安全、稳定且易于维护的系统。无论是前端用户体验还是后端数据处理,我都能够提供专业的技术支持。

  4. 项目管理能力:我具备良好的项目管理技能,能够确保项目按时按质完成。我会制定详细的项目计划,并与您保持密切沟通,确保项目的每个阶段都能满足预期目标。

  5. 持续支持与维护:系统开发完成后,我将提供持续的技术支持和维护服务。这包括定期的系统更新、故障排除以及根据用户反馈进行的功能改进。

  6. 成本效益:我提供的是高性价比的服务。通过高效的项目管理和合理的资源配置,我能够在保证质量的前提下,为您节省不必要的开支。

综上所述,我的专业技能、定制化服务、技术专长、项目管理能力以及对客户的长期承诺,都是您选择我作为毕业设计系统开发伙伴的有力理由。

项目推荐

👇题目未定的小伙伴可以看看下面找找灵感👇

Java Spring Boot框架合集

Java 微信小程序(UNIAPP、云原生)合集

Java Android合集

Java SSM框架合集

Python Djaogo框架合集

获取源码

大家点赞、关注加收藏!👇下方名片获取源码啦!👇

基于java+springboot+vue的工厂车间管理系统 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套基于VUE的工厂车间管理系统,有管理员和人员两个角色。管理员功能有个人中心,人员管理,看板信息管理,设备信息管理,生产开立管理,生产工序管理,生产流程管理。注册的人员可以登录和查看管理员发布的所有信息。基于VUE的工厂车间管理系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。 阅读详情

相关推荐

工厂车间管理系统-工厂车间管理系统的设计实现代码-java-springboot-项目-代码-源码-项目-系统-毕设-网站

工厂车间管理系统-工厂车间管理系统的设计实现代码-java-springboot-基于springboot工厂车间管理系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的实现 用户信息 图片素材 视频素材 摘 要 I 目 录 III 第1章 绪论 1 1.1选题动因 1 1.2背景意义 1 第2章 相关技术介绍 3 2.1 MySQL数据库 3 2.2 Vue前端技术 3 2.3 B/S架构模式 4 2.4 ElementUI介绍 4 第3章 系统分析 5 3.1 可行性分析 5 3.1.1技术可行性 5 3.1.2经济可行性 5 3.1.3运行可行性 6 3.2 系统流程 6 3.2.1 操作信息流程 6 3.2.2 登录信息流程 6 3.2.3 删除信息流程 7 3.3 性能需求 7 第4章 系统设计 8 4.1系统整体结构 8 4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20

基于springboot169工厂车间管理系统的设计

社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。基于VUE的工厂车间管理系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。这样就让用户用着方便快捷,都通过同一个后台进行业务处理,而后台又可以根据并发量做好部署,用硬件和软件进行协作,满足于数据的交互式处理,让用户的数据存储更安全,得到数据更方便。数据库:mysql 5.7。

171

TexGen模型导出到ABAQUS的inp文件:如何快速修改纱线材料属性(避坑指南)

本文针对TexGen模型导出到ABAQUS的inp文件后纱线材料属性缺失或错误的问题,提供了高效的解决方案。文章详细解析了inp文件结构,指导用户如何手动定位并修改纱线材料属性,并提供了可批量处理的Python脚本,帮助用户快速、精准地完成材料参数赋值,有效提升复合材料仿真工作效率。

ice55的博客 583

springboot工厂车间管理系统的设计实现(文档+源码)

大家好,我是永钊,一个混迹在java圈的码农,今天要和大家聊的是一款基于springboot工厂车间管理系统,项目源码请联系永钊,目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架,源码丰富,欢迎咨询。本网站系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。

2301_76936922的博客 554

基于Spring Boot车间调度管理系统

基于 Spring Boot车间调度管理系统是一个为制造企业车间生产活动提供智能化调度和管理解决方案的软件系统。它利用 Spring Boot 框架的便捷性和高效性,整合车间内的人员、设备、物料、任务等资源,通过科学合理的调度算法和规则,实现生产任务的高效分配、生产过程的实时监控以及生产资源的优化配置,从而提高车间生产效率、降低生产成本、确保产品质量和交货期。

QQ2083558048的博客 1068

基于SpringBoot的企业级工位管理系统

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了企业级工位管理系统的开发全过程。通过分析企业级工位管理系统管理的不足,创建了一个计算机管理企业级工位管理系统的方案。文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用情况管理,工位分配管理。员工可以查看个人中心,部门信息,和工位分配。因而具有一定的实用性。

2301_77541824的博客 267

java计算机毕业设计工厂车间管理系统的设计实(附源码+springboot+开题+论文+部署)

系统设计的基础上,进行各模块的具体实现。通过整合人员、设备、生产开立、生产工序、生产流程、看板信息等关键要素,实现车间生产过程的全面监控和管理。最重要的是,工厂车间管理系统的实施有助于推动工厂的智能化、信息化转型,提升工厂的整体竞争力。根据系统功能需求,将系统划分为人员管理、设备信息管理、生产开立管理、生产工序管理、生产流程管理以及看板信息管理等多个模块,并明确各模块之间的数据交互和业务流程。在系统安全性方面,采用多种安全技术和措施,如数据加密、访问控制、日志审计等,保障系统数据的安全性和隐私性。

seryue11的博客 1260

w169基于VUE的工厂车间管理系统设计实现

社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套基于VUE的工厂车间管理系统,有管理员和人员两个角色。管理员功能有个人中心,人员管理,看板信息管理,设备信息管理,生产开立管理,生产工序管理,生产流程管理。注册的人员可以登录和查看管理员发布的所有信息。基于VUE的工厂车间管理系统服务端用Java开发,用SpringBoot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。

卓怡工作室的博客 1063

springboot169基于vue的工厂车间管理系统的设计

社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套基于VUE的工厂车间管理系统,有管理员和人员两个角色。管理员功能有个人中心,人员管理,看板信息管理,设备信息管理,生产开立管理,生产工序管理,生产流程管理。注册的人员可以登录和查看管理员发布的所有信息。基于VUE的工厂车间管理系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。

hjjshua的博客 1446

springboot基于vue的工厂车间管理系统的设计--169

基于VUE的工厂车间管理系统设计实现 摘要:本文设计实现了一套基于VUE的工厂车间管理系统,采用SpringBoot框架和MySQL数据库开发。系统包含管理员和普通用户两种角色,管理员可进行人员管理、看板信息管理、设备信息管理以及生产流程管理等操作,普通用户可查看管理员发布的信息。系统采用前后端分离架构,前端使用VUE框架实现响应式界面,后端使用Java语言开发,通过RESTful API进行数据交互。测试结果表明,该系统能够有效提升工厂车间管理效率,实现生产数据的实时监控和分析。系统具有操作简便、响应

2501_93454642的博客 793

springboot169基于vue的工厂车间管理系统的设计-手把手调试搭建

springboot169基于vue的工厂车间管理系统的设计-手把手调试搭建

2301_81980799的博客 279

2025-2026年计算机毕业设计选题推荐:200+个热门精品毕设题目

042-springboot基于spring boot的软件学院学生成绩管理系统的设计实现。186_springboot基于springboot的一个在线环保意识教育平台的设计实现springboot基于Spring Boot的食品安全信息管理系统的设计实现7icc4。062-springboot基于springboot的青少年心理健康教育网站的设计实现。069-springboot基于springboot的游戏创意工坊推广平台的设计实现

xn19950718的博客 3929

制药企业数字化车间建设解决方案

首先,我们需要根据企业的实际需求,为信息系统做好整体的规划,这包括硬件、软件、网络等各个方面,确保系统的稳定性和高效性。最后,我们不能忽视质量管理系统的重要性,通过将其生产管理系统集成,我们可以实现质量数据的实时采集、分析和处理,进一步提高产品质量水平,满足客户的需求。最后,为了保障质量追溯体系的顺利实施,我们还需要加强员工对质量追溯体系的认识和培训,提高员工的质量意识和技能水平,确保每一个环节都能得到有效的执行和监控。我们的目标是,通过引进先进的数字化技术和设备,对制药生产过程进行全面优化和升级。

weixin_44094929的博客 1021

计算机毕业设计毕设野蚕丝制造生产车间调度算法管理系统-机器-工序-产品-订单-调度生成工序甘特图和机器算法数值

优化目标设置:根据业务需求选择合适的优化目标,比如最小化总成本或最短化生产周期。基于优先级的调度:根据订单紧急程度或利润等因素为工序分配优先级。资源约束:了解可用的机器资源、人员配置、物料供应等限制条件。订单模型:记录订单信息,包括产品类型、数量、交货日期等。机器模型:描述每台机器的能力,如加工速度、维护周期等。产品模型:定义产品的属性,如产品ID、所需工序等。工序流程定义:明确野蚕丝制造的每个工序及其顺序。工序模型:包含工序ID、所需时间、依赖关系等。性能指标计算:例如平均完成时间、最大延迟等。

计算机程序开发设计 287

springboot基于vue的环保垃圾分类管理系统设计实现 39lru

👇🏻 博主介绍:👇🏻 全网粉丝50W+,博客专家、CSDN特邀作者、CSDN新星计划导师、全栈领域优质创作者,csdn博客之星 等平台优质作者、专注于Java、python nodejs php小程序技术领域和毕业项目实战✌👇🏻 精彩专栏 推荐订阅👇🏻。

QQ58850198的博客 1230

车间设备数据数据库建表

分配给“ry”和“12”不同的部门权限。代码生成车间设备信息表,新增用户。admin给普通用户修改权限。xml文件中做出对应修改。admin登录可看到。

weixin_71396418的博客 496
上一篇: 案例167基于Spring Boot的医院后台管理系统
下一篇: 案例170基于Spring Boot的图书电子商务网站设计与实现
Steve1122
博客等级 码龄3年 3440粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值