自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 10-统一日志处理

一、日志1、配置日志级别日志记录器(Logger)的行为是分等级的。如下表所示:分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL默认情况下,spring boot从控制台打印出来的日志级别只有INFO及以上级别,可以配置日志级别设置日志级别# 设置日志级别logging.level.root=WARN这种方式只能将日志打印在控制台上二、Logback日志spring boot内部使用Logback作为日志实现的框架。Logback和lo

2021-01-18 11:38:03 281

原创 09-统一异常处理

一、什么是统一异常处理1、制造异常除以02、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理二、统一异常处理1、创建统一异常处理器在service-base中创建统一异常处理类GlobalExceptionHandler.java:/** * 统一异常处理类 */@ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandle

2021-01-18 11:28:49 142

原创 08-新增和修改讲师接口开发

一、自动填充封装1、在service-base模块中添加创建包handler,创建自动填充类 MyMetaObjectHandler@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("gmtCreate",

2021-01-18 11:21:54 226

原创 07-分页和条件查询接口开发

一、分页1、MyBatisPlusConfig中配置分页插件/** * 分页插件 */@Beanpublic PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor();}2、分页Controller方法TeacherAdminController中添加分页方法/** * 3、分页查询讲师的方法 */ @ApiOperation(value

2021-01-18 11:07:37 319

原创 06-统一返回结果对象

一、统一返回数据格式项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端(iOS Android, Web)对数据的操作更一致、轻松。一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。但是一般会包含状态码、返回消息、数据这几部分内容例如,我们的系统要求返回的基本数据格式如下:1)、列表:{ "success": true, "code": 20000, "message": "成功", "dat

2021-01-18 10:57:00 150

原创 05-配置Swagger2生成API接口文档

一、Swagger2介绍前后端分离开发模式中,api文档是最好的沟通方式。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。及时性 (接口变更后,能够及时准确地通知相关前后端开发人员)规范性(并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息)一致性(接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧)可测性 (直接在接口文档上进行测试,以方便理解业务)二、配置Swagger21、创建comm

2021-01-18 10:48:24 135

原创 04-讲师管理模块配置和生成代码

一、讲师管理模块配置1、在service下面service-edu模块中创建配置文件1)、resources目录下创建文件 application.properties# 服务端口server.port=8001# 服务名spring.application.name=service-edu# 环境设置:dev、test、prodspring.profiles.active=dev# mysql数据库连接spring.datasource.driver-class-name=com

2021-01-18 10:37:55 166

原创 03-搭建项目工程(service模块)

一、搭建service模块1、在父工程guli-parent下面创建模块service1)、选择 maven类型,点击下一步2)、输入模块名称 service,下一步完成创建2、添加模块类型是pom<artifactId> 节点后面添加 pom类型<artifactId>service</artifactId><packaging>pom</packaging>3、添加项目需要的依赖<dependencies&

2021-01-18 10:25:22 124

原创 02-搭建项目工程(父工程)

一、工程结构介绍1、工程结构2、模块说明guli-parent:在线教学根目录(父工程),管理四个子模块:canal-client:canal数据库表同步模块(统计同步数据)common:公共模块父节点common-util:工具类模块,所有模块都可以依赖于它service-base:service服务的base包,包含service服务的公共配置类,所有service模块依赖于它spring-security:认证与授权模块,需要认证授权的service服务依赖于

2021-01-18 10:19:28 125

原创 01-数据库设计

一、数据库设计1、数据库guli_edu2、数据表guli_edu.sql二、数据库设计规约以下规约只针对本模块,更全面的文档参考《阿里巴巴Java开发手册》:五、MySQL数据库地址:https://github.com/alibaba/p3c.git1)、库名与应用名称尽量一致2)、表名、字段名必须使用小写字母或数字,禁止出现数字开头,3)、表名不使用复数名词4)、表的命名最好是加上“业务名称_表的作用”。如,edu_teacher5、表必备三字段:id, gm

2021-01-18 10:08:56 114

原创 06-MyBatisPlus条件构造器

一、wapper介绍Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : Entity 对象封装操作类,不是用lambda语法UpdateWrapper : Update 条件封装,用于Entity对象更新操作AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。LambdaQueryWrapp

2021-01-17 12:02:23 100

原创 05-MyBatisPlus的CRUD 接口

一、insert1、插入操作@RunWith(SpringRunner.class)@SpringBootTestpublic class CRUDTests { @Autowired private UserMapper userMapper; @Test public void testInsert(){ User user = new User(); user.setName("Helen"); user.s

2021-01-17 11:41:45 111

原创 04-MyBatisPlus入门

快速开始参考:http://mp.baomidou.com/guide/quick-start.html测试项目: mybatis_plus数据库:mybatis_plus一、创建并初始化数据库1、创建数据库:mybatis_plus2、创建 User 表其表结构如下:其对应的数据库 Schema 脚本如下:DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主.

2021-01-17 10:57:38 82

原创 03-MyBatisPlus简介

一、简介官网:http://mp.baomidou.com/参考教程:http://mp.baomidou.com/guide/MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。二、特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service

2021-01-16 23:23:26 129

原创 02-在线教育项目简介

一、功能简介谷粒学院,是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台。二、系统模块三、系统架构架构设计需要考虑的几个方面:性能:主要考虑访问频率,每个用户每天的访问次数。项目初始阶段用户的访问量并不大,如果考虑做运营推广,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引入缓存可扩展性:系统功能会随着用户量的增加以及多变的互联网用户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使用微服务架构,引入消息中间件高可用:系统一旦宕机,将会带来不可挽回的损失,

2021-01-16 23:13:15 864

原创 01-在线教育行业介绍

一、在线教育简介1、什么是在线教育1.1、基本概述在线教育顾名思义,是以网络为介质的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,学习时间不固定的职场人而言网络远程教育是最方便不过的学习方式。1.2、发展潜力所有人离不开教育:早期教育、课外辅导、少儿英语、职业教育、出国留学、商学院、移民服务……而在信息化爆发式发展的趋势下,在线教育越来越凸显出优势:1)、在线教育可以突破时间和空间

2021-01-16 23:06:37 1513

原创 Springboot+Vue前后端的分离项目实战

一、实现技术Spring Boot + Vue使⽤ Spring Boot 进⾏后端应⽤开发,使⽤ Vue 进⾏前端应⽤开发。二、Vue + Element UIVue 集成 Element UIElement UI地址:https://element.eleme.cn/#/zh-CN2.1、Container 布局容器用于布局的容器组件,方便快速搭建页面的基本结构:el-container:外层容器。当子元素中包含 el-header 或 el-footer 时,全部子元素会

2021-01-15 14:04:04 3437 1

原创 前后端分离概述

一、 前后端分离的目的和作用1)、做Web开发也可以说是B/S架构开发,浏览器端和服务器端从技术体系角度而言异构性很大,换而言之就是浏览器端使用的技术和服务器端使用的技术不适于同一个体系,这样的结果导致实际开发中,很难做到专业分工,如果项目开发过程中管控不到位,这样的问题可能会影响到整个项目的开发质量,因此前后端分离的目的之一就是要做到专业化分工,提高项目的质量和开发效率。2)、随着技术的发展,当下的Web开发形势已经和以前有了很大的不同,早期的Web项目是一个封闭的项目,用户从浏览器里看到的页面

2021-01-15 11:46:55 978 1

原创 基于JSP+Servlet+Tomcat8.5+WebSocket实现的网页聊天室

基于JSP+Servlet+Tomcat8.5+WebSocket实现的网页聊天室一、准备好开发环境注意:(Tomcat的版本最好是7.0以上,由于这是基于Tomcat内部集成的Websocket开发的网页聊天室,就不需要导入Websocket jar包了,如果是基于SpingMVC或者SpingBoot的开发的就需要在Pom.xml的文件中导入相应的依赖)1.1、创建工程目录1.2、导入本项目中相应的 jar包1.3、导入相应的静态资源页面1)、导入login.jsp登录页面&lt

2021-01-13 21:26:14 2078 3

原创 HTML5 WebSocket

一、HTML5 WebSocket1)、WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。2)、WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。3)、在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之

2021-01-13 12:16:25 328

原创 Swagger2 拓展:其他皮肤

我们可以导入不同的包实现不同的皮肤定义:1、默认的 访问 http://localhost:8080/swagger-ui.html<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version></dependency>

2021-01-10 17:15:23 374

原创 Ngrok 内网穿透

我们可以导入不同的包实现不同的皮肤定义:

2021-01-10 16:58:21 254

原创 SpringBoot集成Swagger2

一、SpringBoot集成Swagger21.1、导入两个springfox的jar包Springfox-Swagger2Swagger-Springmvcs二、使用Swagger要求:jdk 1.8 + 否则Swagger2无法运行步骤:2.1、新建一个SpringBoot-web项目2.2、添加Maven依赖<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->

2021-01-10 16:39:25 414

原创 Swagger 简介

一、导语:相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。二、Swagger是什么?它能干什么?

2021-01-10 15:37:33 483

原创 Git 创建秘钥时提示:too many arguments 解决

1.1、问题如下:1.2、解决问题的方法:$ ssh-keygen -t rsa -C “486566947@qq.com”

2021-01-09 18:27:52 569

原创 Git 使用SSH协议传输数据

使用SSH协议传输数据1.1、Git支持的传输协议由于Git的远程仓库并不在我们本地,当我们在使用远程仓库的时候(例如克隆、拉取、推送)就会涉及到数据的网络传输,Git支持多种数据传输协议本地协议(Local)HTTPS 协议SSH(Secure Shell)协议Git 协议我们前面的操作都是基于HTTPS协议进行的,本章节我们会学习如何使用SSH协议1.2、什么是SSH协议SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network

2021-01-09 18:06:35 197

原创 Git 在IDEA中使用Git

在IDEA中使用Git1.1、在IDEA中配置Git安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:选择git的安装目录后可以点击“Test”按钮测试是否正确配置1.2、在IDEA中使用Git本章节我们会学习在IDEA中使用Git进行版本管理,具体包括:在IDEA中创建工程并将

2021-01-09 17:50:06 104

原创 Git 使用TortoiseGit管理文件版本

使用TortoiseGit管理文件版本1.1、TortoiseGit下载与安装TortoiseGit是一款开源的Git图形界面工具,使用TortoiseGit可以简化Git相关的操作(本质上还是执行的Git相关命令)。TortoiseGit下载地址: https://tortoisegit.org/download/下载完成可以得到如下安装程序直接双击安装即可,安装完成后在桌面(也可以是其他目录)点击右键,看到如下菜单则说明安装成功1.2、TortoiseGit使用在前面我

2021-01-09 17:34:11 227

原创 Git 常用命令操作详解

Git常用命令Git提供了很多命令来完成相应的操作,为了方便学习,我们将这些命令进行了分类。在学习命令的过程中会讲解一些Git相关的概念。在本章节我们会学习到如下一些命令和概念:环境配置获取Git仓库工作目录、暂存区以及版本库概念Git工作目录下文件的两种状态本地仓库操作远程仓库的使用分支标签1.1 环境配置当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息#设置用户信息git config --global

2021-01-09 16:59:54 2426

原创 Git 代码托管服务

Git代码托管服务1.1 常用的Git代码托管服务前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub码云(地址: https://gitee.com/)是国内的一个代码托管平台,

2021-01-09 00:33:29 474

原创 Git 分布式版本控制系统概述

Git概述1.1 Git历史Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。 到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫

2021-01-09 00:02:06 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除