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

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 标准的支持,并且具备可扩充的特点,容易应用,同时安全性也很高。

综上所述,这次毕业设计是从零开始的,这是一个全新的开始,并且期待着圆满结束。我希望通过我后期的自主学习,能让这次设计趋向于完美,使其成为我的自主创作经验。

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读