首页
项目列表
订单查询
历史案例
项目定制
部署教程
联系我们
登录
源码客栈
基于SpringBoot和Vue的前后端分离的求职招聘系统
简介 & 技术栈
展示效果:
PC网页
源码类型:
求职/招聘/实习
图片预览
默认图片
部署安装
部署文档
SpringBoot+Vue的部署教程
软件下载(点击下方软件名称即可下载)
idea2021
maven3.6
jdk1.8
tomcat8.5
Navicat Premium 12
node-v14.15.4-x64
文档介绍
分享
收藏
源码
获取
项目完整源码
项目完整源码+远程部署调试
总价
59.99 / 元
项目推荐
基于SSM的教务管理系统
azhou
部署文档
2,787
2022-06-05
基于SpringBoot+Html的前后端分离的学习平台
azhou
部署文档
2,109
2022-05-17
基于SpringBoot+Vue前后端分离的学校心理健康测试系统
azhou
部署文档
2,107
2023-09-10
基于Springboot+vue的物流管理项目
azhou
部署文档
1,805
2022-07-12
基于SpringBoot的前后端分离的汽车维修系统
azhou
部署文档
1,505
2022-05-17
基于SSM的教务管理系统
azhou
部署文档
1,195
2022-06-29
如有问题需要咨询,请留下您的微信号
客服会添加您,为您服务!
提交
> ### 一、项目背景介绍: 这个系统的研发背景是为了满足现代社会中不断增长的求职和招聘需求。随着经济的发展和人才市场的竞争加剧,传统的求职和招聘方式已经无法满足快速、高效、准确的需求。因此,我们决定开发基于SpringBoot和Vue的前后端分离的求职招聘系统。 在过去,求职者需要通过报纸、招聘会或口碑传播等方式了解和投递简历给潜在的雇主,而企业则需花费大量时间和精力进行筛选和面试。这种方式效率低下、信息不对称的问题导致了大量的资源浪费和错失机会。 为了解决这些问题,我们设计和开发了该求职招聘系统。它可以有效地连接求职者和企业,提供一个便捷和高效的求职招聘平台。通过该系统,求职者可以在一个地方浏览和搜索大量的招聘岗位,并且可以根据自己的条件和偏好来筛选和申请职位。同时,企业可以方便地发布招聘信息,并且可以根据招聘要求来筛选合适的候选人。这样,系统可以帮助双方节省时间和资源,同时提高招聘和求职的效率。 我们选择使用SpringBoot和Vue作为开发框架,因为它们具有良好的生态系统和强大的功能。SpringBoot提供了快速开发和易于维护的特性,而Vue则提供了灵活的前端开发和交互性。前后端分离的架构使得系统更加模块化和可扩展,并且可以支持大量并发用户。 通过研发这个基于SpringBoot和Vue的求职招聘系统,我们的目标是为求职者和企业提供一个高效、便捷和精准的招聘平台,推动人才市场的发展和经济的进步。 > ### 二、项目技术简介: 1. JAVA:Java是一门**面向对象编程语言**,不仅**吸收了C++语言的各种优点**,还摒弃了C++里难以理解的**多继承、指针**等概念,因此Java语言具有**功能强大和简单易用**两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2. Vue:Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。 Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, 是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,并且几乎不需要手动优化,并且Vue完全有能力处理大规模的应用。 3. Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。 4. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来[简化](https://baike.baidu.com/item/简化/3374416?fromModule=lemma_inlink)新[Spring](https://baike.baidu.com/item/Spring/85061?fromModule=lemma_inlink)应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 5. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。 > ### 三、系统功能模块介绍:  > ### 四、数据库设计: 1:tb_admin(tb_admin) | 字段名 | 类型 | 默认值 | 列注释 | | --------- | ------------- | ------ | ------ | | id | int | NULL | 编号 | | username | varchar | NULL | 账号 | | password | varchar | NULL | 密码 | 2:tb_enterprise(tb_enterprise) | 字段名 | 类型 | 默认值 | 列注释 | | --------- | ------------- | ------ | ------ | | id | int | NULL | 企业编号 | | username | varchar | NULL | 用户名 | | password | varchar | NULL | 密码 | | name | varchar | NULL | 企业名称 | | email | varchar | NULL | 电子邮箱 | | phone | varchar | NULL | 联系电话 | | manage | varchar | NULL | 从事行业 | | address | varchar | NULL | 企业地址 | | introduce | varchar | NULL | 公司简介 | 3:tb_recruitment(tb_recruitment) | 字段名 | 类型 | 默认值 | 列注释 | | --------- | ------------- | ------ | ------ | | id | int | NULL | 企业编号 | | username | varchar | NULL | 用户名 | | name | varchar | NULL | 企业名称 | | industry | varchar | NULL | 所属行业 | | job | varchar | NULL | 招聘职位 | | salary | varchar | NULL | 招聘薪水 | | address | varchar | NULL | 工作地点 | | release_time | datetime | NULL | 发布时间 | | valid_time | varchar | NULL | 有效时间 | | web | varchar | NULL | 发布网站 | | education | varchar | NULL | 学历 | | experience | varchar | NULL | 经验 | | number | varchar | NULL | 招聘人数 | | description | longtext | NULL | 职位描述 | | company_profile | longtext | NULL | 公司简介 | 4:tb_resume(tb_resume) | 字段名 | 类型 | 默认值 | 列注释 | | --------- | ------------- | ------ | ------ | | id | int | NULL | 编号 | | username | varchar | NULL | 求职者姓名 | | industry | varchar | NULL | 求职行业 | | work_experience | varchar | NULL | 工作经验 | | address | varchar | NULL | 工作地点 | | salary | varchar | NULL | 期望薪资 | | intention_job | varchar | NULL | 意向职位 | | job_status | varchar | NULL | 求职状态 | | personal_introduction | varchar | NULL | 个人介绍 | | create_time | datetime | NULL | 发布时间 | | valid_time | varchar | NULL | 有效时间 | 5:tb_user(tb_user) | 字段名 | 类型 | 默认值 | 列注释 | | --------- | ------------- | ------ | ------ | | id | int | NULL | 用户编号 | | username | varchar | NULL | 用户名 | | password | varchar | NULL | 密码 | | name | varchar | NULL | 真实姓名 | | age | varchar | NULL | 年龄 | | gender | char | NULL | 性别 | | birthday | varchar | NULL | 出生日期 | | school | varchar | NULL | 毕业学校 | | phone | varchar | NULL | 联系电话 | | email | varchar | NULL | 电子邮箱 | | specialty | varchar | NULL | 所学专业 | | education | varchar | NULL | 最高学历 | > ### 五、功能模块: 1. 系统登录:在登录界面用户可以根据不同的角色账号进入不通的界面  1. 管理员信息管理:管理员可以进行管理员账户的添加、删除、修改等操作,确保系统安全  1. 企业信息管理:管理员可以管理企业的注册信息,包括审核企业信息、修改企业信息等。  1. 用户信息管理:管理员可以管理用户的注册信息,包括审核用户信息、修改用户权限等。  1. 简历信息管理:管理员可以查看和管理用户提交的简历信息,包括审核简历、删除简历等操作。  1. 招聘简历信息管理:管理员可以对企业发布的招聘信息进行匹配和推荐合适的简历。  1. 企业信息管理:企业可以管理自己的企业信息,包括修改联系方式、上传企业介绍等。  1. 职位招聘信息管理:企业可以发布新的职位招聘信息,包括填写职位描述、要求等。  1. 简历查看:企业可以查看投递给自己的简历信息,包括评估简历的匹配度、筛选合适的候选人等。  1. 个人信息管理:用户可以管理自己的个人信息,包括修改联系方式、完善个人简介等。  1. 简历信息管理:用户可以填写和修改自己的简历信息,包括教育经历、工作经验等。  1. 招聘信息查看:用户可以查看发布的各种招聘信息,包括浏览职位详情、投递简历等操作。  > ### 六、代码示例: ```java /** 允许任何域名使用 允许任何头 允许任何方法(post、get等) */ private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); // // addAllowedOrigin 不能设置为* 因为与 allowCredential 冲突,需要设置为具体前端开发地址 corsConfiguration.addAllowedOrigin("http://localhost:8080"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); // allowCredential 需设置为true corsConfiguration.setAllowCredentials(true); return corsConfiguration; } @Bean public DefaultKaptcha defaultKaptcha() { //验证码生成器 DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); //配置 Properties properties = new Properties(); //是否有边框 properties.setProperty("kaptcha.border", "yes"); //设置边框颜色 properties.setProperty("kaptcha.border.color", "105,179,90"); //边框粗细度,默认为1 // properties.setProperty("kaptcha.border.thickness","1"); //验证码 properties.setProperty("kaptcha.session.key", "code"); //验证码文本字符颜色 默认为黑色 properties.setProperty("kaptcha.textproducer.font.color", "blue"); //设置字体样式 properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑"); //字体大小,默认40 properties.setProperty("kaptcha.textproducer.font.size", "30"); //验证码文本字符内容范围 默认为abced2345678gfynmnpwx // properties.setProperty("kaptcha.textproducer.char.string", ""); //字符长度,默认为5 properties.setProperty("kaptcha.textproducer.char.length", "4"); //字符间距 默认为2 properties.setProperty("kaptcha.textproducer.char.space", "4"); //验证码图片宽度 默认为200 properties.setProperty("kaptcha.image.width", "100"); //验证码图片高度 默认为40 properties.setProperty("kaptcha.image.height", "40"); Config config = new Config(properties); defaultKaptcha.setConfig(config); return defaultKaptcha; } //管理员登录 @PostMapping(value = "/admin") public RestResult adminLogin( HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println(username); System.out.println(password); Map
map = new HashMap<>(); map.put("username",username); map.put("password",password); QueryWrapper
wrapper = new QueryWrapper<>(); wrapper.allEq(map,false); if(tbAdminService.getMap(wrapper).size()!=3) return generator.getFailResult("登录失败~~"); System.out.println(tbAdminService.getMap(wrapper).size()); String token = JwtUtil.getToken(map); return generator.getTokenResult(token); } // //用户登录 @PostMapping(value = "/user") public RestResult userLogin( HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println(username); System.out.println(password); Map
map = new HashMap<>(); map.put("username",username); map.put("password",password); QueryWrapper
wrapper = new QueryWrapper<>(); wrapper.allEq(map,false); Map
userMap = tbUserService.getMap(wrapper); Object backname = userMap.get("username"); if(userMap.size()!=12) return generator.getFailResult("登录失败~~"); System.out.println(tbUserService.getMap(wrapper).size()); String token = JwtUtil.getToken(map); return generator.getSuccessResult(backname,token); } // //企业登录 @PostMapping(value = "/entr") public RestResult entrLogin( HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println(username); System.out.println(password); Map
map = new HashMap<>(); map.put("username",username); map.put("password",password); QueryWrapper
wrapper = new QueryWrapper<>(); wrapper.allEq(map,false); Map
entrMap = tbEnterpriseService.getMap(wrapper); Object backname = entrMap.get("username"); if(entrMap.size()!=9) return generator.getFailResult("登录失败~~"); System.out.println(tbEnterpriseService.getMap(wrapper).size()); String token = JwtUtil.getToken(map); return generator.getSuccessResult(backname,token); } ``` > ### 七、项目总结: 基于SpringBoot和Vue的前后端分离的求职招聘系统的开发制作,从题目确定到成品完成,自己投入的精力与心血是非常多的。从基于SpringBoot和Vue的前后端分离的求职招聘系统的前台页面实现,到基于SpringBoot和Vue的前后端分离的求职招聘系统的后台代码的编辑,我用到的软件包括了数据库软件MySQL,Java开发工具IDEA,办公软件Office,浏览器软件Fireworks,图像处理软件Photoshop等,这也是我第一次使用Java语言,开发的这个比较简单的基于SpringBoot和Vue的前后端分离的求职招聘系统。 基于SpringBoot和Vue的前后端分离的求职招聘系统开发过程中,自己之前觉得比较抽象的许多门课程,例如数据库原理,软件工程,动态网站开发等课程开始变得很清晰,只有自己独立开发程序,才会觉得这些开发类的课程在实践中具有的重要作用。为了让自己设计的作品能够顺利的完成,我把所学知识全部运用在程序的开发流程中,包括了程序的需求分析环节,程序的编码环节,程序的测试环节等,让程序软件在开发周期内完成制作,并能够保证程序质量达标,力求程序开发流程规范化,程序对应的配套文档标准化。 本次开发的系统整体界面还是比较清晰简明,功能上面考虑得比较全,几乎可以满足用户使用要求。尽管我对这次的毕设付出了许多的努力,但是程序还是有很多不足的地方,系统界面整体感觉还行,但是字体字号的选取上面还是有些不符合现实审美,在程序的CSS样式编码上面,我还有许多不熟悉的地方,虽然经过反复的测试与调试选中了现在这样的程序界面,但是我还是明显感觉到自己对一些常用CSS样式的不熟悉,编码过程中,我还要多次进行资料查看才知道。另外我编写的代码写作不是很规范,可读性比较差,幸运的是,我最终还是实现了系统中所要求的功能。 基于SpringBoot和Vue的前后端分离的求职招聘系统现已完成了开发,除了基本功能可以符合用户需求外,在页面设计层面上没有融入更多的设计元素,需要从美学角度进行优化,另外在程序的代码层面,也有许多重合部分,需要进行整理归类,让代码变得更加的简洁。 实践出真知,但是知识也是通过实践变得更加深刻,这次作品制作,让自己的专业知识水平与解决问题的能力得到了提高。也让自己更加明白活到老学到老的真正含义。 总的说来,这次编写毕业设计作品,我真正锻炼了自己的实际操作能力,以前只知道理论知识,现在通过实践,我对理论知识的认识变得更加深刻,由于编写程序时间比较短暂,程序开发期间遇到过很多坎坷,但最后都通过老师还有同学帮忙解决了,可以说这次的毕设作品进展得还算顺利。