Java开发环境配置指南:SpringBoot、JDK1.8、Tomcat7与MySQL5.7搭建教程

开发所使用的语言是 Java;所运用的框架为 springboot;JDK 的版本是 JDK1.8;所依托的服务器是 tomcat7;所连接的数据库是 mysql。
数据库工具为 Navicat11;开发软件有 eclipse、myeclipse、idea;Maven 包是 Maven3.3.9;浏览器是谷歌浏览器,且需使用 5.7 版本。
后台路径地址为 localhost:8080 ,接着是项目名称,然后是/admin/dist/index.html 。
前台的路径地址为 localhost:8080/项目名称/front/dist/index.html ,如果没有前台则不需要输入此地址。
管理员账号:admin 管理员密码:admin
开发技术简介
Java语言
Java 语言是当下较为流行的语言之一。它既能用于制作桌面窗口形式的程序,又能制作浏览器访问的程序。当下最为流行的做法是以 Java 语言为基础,来进行各种程序的后台处理。这有效地提高了 Java 语言开发出来程序的生存能力。Java 是一种具有动态运行能力的语言。Java 的类不仅可以使用 Java 核心提供的基础类,还能够进行重写。这使得 Java 的功能得以更加丰富。甚至可以编写一些功能模块并进行封装。之后,其他项目如果需要用到这些可复用的功能,完全可以直接进行引用,然后在使用的地方调用相应的方法。还可以学习其他从业者提供的优雅编程方式。Java语言发展至今,已在各个行业中扎下根来。学习 Java 后,可以从事的行业众多,学习的方法也有很多。在网上,有许多免费的教程。甚至一些高深的知识,只需付费就能够进行学习。不像 Java 语言刚起步的时候,每一位编程人员都需要借助记事本进行手动编码,如今有很多集成开发环境能够帮助 Java 从业者。选择Java语言进行编程,是一种很好的解决问题的方式。
MYSQL数据库
一般学习程序开发的人员若学习数据库,必定会学习 MySQL 数据库。MySQL 数据库历经多年不断发展,其社区版本是免费的。尤为重要的是它很小巧,占用电脑空间较小,这使得更多的开发人员无需更换更高级的电脑就能进行学习。学习只是其中一个方面。最重要的是 MySQL 的市场占有率在世界范围内位居第一。几乎每十个公司中就有七八个使用 MySQL 数据库。MySQL 的优点并非如此浅显。MySQL 首先具有开源的特点,只要不是用于商业用途就无需花费资金。而且它能够支持大型数据。只要是市面上现有的操作系统,MySQL 都可以有相应的版本可供使用。MySQL 是开源的,所以如果对 MySQL 有特殊需求,甚至能够自己修改源码,以实现符合自身使用的目的。MySQL 数据库有很多好处,其中最重要的一点是符合本设计的开发需求。可以说本设计仅仅用到了 MySQL 的一些基础功能,而这些基础功能就已经完全足够了。网上有很多 MySQL 学习的教程,许多入门的教程完全能够达到普通程序员的开发水平。只要学会了基本的知识,到公司后只需根据不同的业务逻辑编写不同的语句。
Eclipse开发工具
Eclipse 是开源且免费的。仅从这一点去理解,可能会让人觉得免费的东西就不好。但实际并非如此。Eclipse 是一个开发源代码的开发工具,由于它是开源的,所以会很安全。如果它对使用者的电脑有害,肯定能找到原因,在安全方面无需担忧。Eclipse 无需安装,不会给系统盘增加压力,可放置于任何一个盘。使用时打开,不用时关闭,不会在后台偷偷运行,也无需增加注册表负担。它启动必须依靠 Java 的 JDK 才能进行,这样能有效避免一些病毒入侵。若病毒入侵导致源代码改变,Eclipse 就无法运行,只需重新删除文件夹并重新解压一份新的 Eclipse 即可,使用起来十分安全。Eclipse 发展至今,能够支持其他开发语言。其家族日益强大,功能愈发增多。最为重要的是它不收费,这使得新手开发者能节省大量资金用于自身学习,无需先花钱购买开发软件后才发现自己不适合开发。永远免费的策略能让人们始终拥有使用的机会。最重要的是,Eclipse 的功能并非不够用。它不仅功能强大,而且用起来完全符合本设计的开发需求。因此,选用了 Eclipse 作为开发工具。
Spring Boot框架
Spring
Boot 适合初学者,对于以前的 Spring 框架开发者来说也很适合学习,学习过程较为方便。无论是纯英文教程还是中文教程,在国内外都有大量可供学习的资料。
Boot 具备运行所有 Spring 项目的能力,并且能够实现无缝切换。它内置了 Servlet。
容器无需将代码打包成 WAR 即可运行。它自带应用监控功能,在运行过程中能够实时监控正在运行的项目,随时能发现问题所在并定位发生的问题,从而让程序员及时对问题进行修改。
详细视频演示
请联系我获取更详细的演示视频
系统功能概述
Java SSM 会议室预约系统是以 SSM 框架为基础进行开发的。前端页面效果是通过运用 JSP 进行编码而得以实现的。该系统实现了用户和管理员这两种用户角色,同时也实现了会议室管理以及取消预约管理等功能。
系统功能效果
核心代码
package com.controller;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;
/**
* 上传文件映射表
*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
@Autowired
private ConfigService configService;
/**
* 上传文件
*/
@RequestMapping("/upload")
@IgnoreAuth
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
/**
如果使用 idea 来重启项目,或者使用 eclipse 来重启项目,在发现之前上传的图片或者文件丢失之后,需要将下面一行代码的注释打开。
请将以下的“D:\\springbootq33sd\\src\\main\\resources\\static\\upload”替换为你本地项目中的 upload 路径。
* 并且项目路径不能存在中文、空格等特殊字符
*/
FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload" + "/" + fileName)); // 修改了路径以后请将该行最前面的//注释去掉
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
/**
* 下载文件
*/
@IgnoreAuth
@RequestMapping("/download")
public ResponseEntity<byte[]> download(@RequestParam String fileName) {
try {
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
File file = new File(upload.getAbsolutePath()+"/"+fileName);
if(file.exists()){
如果文件服务不能读取该文件,并且该文件不能被会话管理器获取到的会话用户读取,那么就会执行下面的代码。
getResponse().sendError(403);
}*/
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", fileName);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
}
} catch (IOException e) {
e.printStackTrace();
}
return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
系统功能测试
本系统先在本地服务器上完成了安装与测试。接着,由于对系统的结构以及处理方法有了充分的熟悉,并且对系统的特性也有了充分的了解,所以对系统进行了白盒测试和黑盒试验。
在发展软件系统的过程中,人们必须面对实际的错综复杂性问题。因此,在软件系统生存周期的各个过程中,必然会形成错误。应用软件检测的目的是:当某个程序运行出现出错的步骤时,而其最重要的目的是找到尚未发生的出错。
为了制定合理的测试计划,开始进行测量时遵循以下原则:任何测试都需追溯到客户需要;确定客户使用模型后,着手制定测试计划,并在编码前对整个软件测试工作进行规划和制定;运用 Pareto 原理,主要对占比百分之八十九以上、最易出错的约百分之二十的模板进行检测,从小规模开始逐步实施大量检测,范围一般从主要检测单编程模板到完全集成的模板;同时精心设计检测方法,以尽可能全面覆盖所有程序逻辑并满足要求的能力。
结论
本系统具有以下优点:功能方面全面;日后程序更新较为容易;数据库管理起来比较容易;界面呈现出友好的特点;操作过程方便;效率较高;安全性良好。这些优点相较于我查阅到的其他会议室预约系统更为突出。
本系统在技术层面有以下优点:其一,通过 java 来实现动态页面,这让软件系统拥有了良好的可维护性与可复用性。其二,在本系统的编写流程中运用了 Spring Boot 框架,此框架能更有效地将显示功能与逻辑分离开来,使得模块更便于管理,尤其适合大型项目的编写。第三,后台使用的是 MySQL 数据库系统。MySQL 的数据库系统引擎主要侧重于对 XML 标准的支持,并且具备可扩充的特点,容易应用,同时安全性也很高。
综上所述,这次毕业设计是从零开始的,这是一个全新的开始,并且期待着圆满结束。我希望通过我后期的自主学习,能让这次设计趋向于完美,使其成为我的自主创作经验。
springboot与spring区别 (springboot框架)
springboot.springmvc和spring有什么区别 (springboot)
性能springboot的环境 springboot环境性能 (性能spec)
spring框架和springboot spring框架和springmvc框架 (spring festival)
Java项目运行环境配置指南:JDK1.8 + Tomcat7.0 + MySQL + HBuilderX
springboot集成mybatis和plus (springboot框架)