03 2022 档案
摘要:承接:mybatisPlus-逻辑删除 1 在spring中配置环境为dev或test src/main/resources/application.properties #设置开发环境 spring.profiles.active=dev 2 在配置类中注册插件 src/main/java/com
阅读全文
摘要:承接:mybatisPlus-删除测试 物理删除:从数据库中直接移除. 逻辑删除:在数据库中没有移除,而是通过一个变量让它失效. deleted = 0 => deleted = 1 (管理员可以查看被删除的记录,防止数据的丢失,类似于回收站) 1 在数据库user表中添加逻辑删除字段 2 在Use
阅读全文
摘要:承接:mybatisPlus-分页查询 user表: 1 根据id删除 src/main/java/com/lv/mybatis_plus/MybatisPlusApplication.java //根据id删除 @Test public void testDeleteById(){ userMap
阅读全文
摘要:承接:mybatisPlus-查询测试 1 在配置类中注册分页插件 src/main/java/com/lv/mybatis_plus/config/MybatisPlusConfig.java //注册分页插件 @Bean public PaginationInterceptor paginati
阅读全文
摘要:承接:mybatisPlus-自动填充 1 根据id查询 src/test/java/com/lv/mybatis_plus/MybatisPlusApplicationTests.java //测试查询 @Test public void testSelectById(){ User user =
阅读全文
摘要:承接:mybatisPlus-自动填充 乐观锁:顾名思义十分乐观,它总是认为不会出现问题,无论干什么都不去上锁,如果出现了问题,再次更新值测试. 悲观锁:顾名思义十分悲观,它总是认为会出现问题,无论干什么都会上锁,再去操作. 1 乐观锁实现方式: 取出记录时,获取当前 version 更新时,带上这
阅读全文
摘要:承接:springPlus-更新测试 创建时间,修改时间!这些操作一遍都是自动化完成的,我们不希望手动更新! 阿里巴巴开发手册:所有的数据库表:gmt_create,gmt_modified几乎所有的表都要配置上!而且需要自动化! 1 在user表中添加创建时间和修改时间的字段 2 在实体类中编写对
阅读全文
摘要:承接:mybatisPlus-主键生成策略 1 在测试类中添加更新的方法 src/test/java/com/lv/mybatis_plus/MybatisPlusApplicationTests.java //测试更新 @Test public void testUpdate(){ User us
阅读全文
摘要:承接:mybatisPlus-插入测试 分布式系统唯一ID生成方案汇总:分布式系统唯一ID生成方案汇总 1 雪花算法 snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个b
阅读全文
摘要:承接:mybatisPlus-配置日志 1 在测试类中添加插入测试方法 src/main/java/com/lv/mybatis_plus/MybatisPlusApplication.java //测试插入 @Test public void testInsert(){ User user = n
阅读全文
摘要:承接:mybatisPlus-快速开始 1 在配置文件中添加日志配置 src/main/resources/application.properties # 数据库连接配置 spring.datasource.username=root spring.datasource.password=1234
阅读全文
摘要:官方参考地址:https://baomidou.com/pages/226c21/ 1 创建数据库 新建一个数据库 mybatis_plus ,并在该数据库中运行如下sql来创建一张user表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIG
阅读全文
摘要:1 思维导图 2 服务使用步骤 导入依赖 编写配置文件 主启动类添加开启服务的注解 编写配置类(也许没有这一步) 3 面试题答案 3.1 什么是微服务? 维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互
阅读全文
摘要:1 概念描述 1.1 官方描述 官网地址:https://spring.io/projects/spring-cloud-config Spring Cloud Config 为分布式系统中的外部化配置提供服务器和客户端支持。使用配置服务器,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上
阅读全文
摘要:1 概念描述 1.1 Zuul是什么 Zull的两个主要功能: 路由功能 : 负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。 过滤器功能 : 负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。 Zuul和Eureka进行整合,将Zuul自身注册为Eureka
阅读全文
摘要:分布式系统面临的问题 : 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免失败 1 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长,或者不
阅读全文
摘要:1 Feigin介绍 1.1 Feigin是什么 Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似于controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin提供负载均衡的http客户端 Feign,主要是
阅读全文
摘要:1 概念描述 1.1 什么是负载均衡? LB,即负载均衡 (LoadBalancer) ,在微服务或分布式集群中经常用的一种应用。 负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA (高用)。 常见的负载均衡软件有 Nginx、Lvs 等等。 Dubbo、SpringClo
阅读全文
摘要:1 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则. Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是基于REST的服务,用于定位服务,以实现云端中间件层服务发现和故障转移,服务注册与发现对于微服务来说是非常重要的,有了服务注册与发现,只需要使
阅读全文
摘要:1 准备阶段 1.1 介绍 我们会使用一个Dept部门模块做一个微服务通用案例Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务。 回顾Spring,SpringMVC,Mybatis等以往学习的知识。 Maven的分包分模块架构复习。 1.2 S
阅读全文
摘要:1 SpringCloud是什么? Spring官网 : https://spring.io/ 2 SpringCloud和SpringBoot的关系 SpringBoot专注于开发单个个体微服务; SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微
阅读全文
摘要:1 什么是微服务 微服务(Microservice Architecture) 是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。 究竟什么是微服务呢?我们在此引用ThoughtWorks 公司的首席科学家 Martin Fowler 于2014年提出的一段话: 原文 : https://ma
阅读全文
摘要:1 学习前提 熟练使用SpringBoot 微服务快速开发框架 了解过Dubbo + Zookeeper 分布式基础 电脑配置内存不低于8G 2 学习大纲 : springcloud五大组件 服务注册与发现 : Netflix Eureka 负载均衡: 客户端负载均衡 : Netflix Ribbo
阅读全文
摘要:运行原理探究:狂神说SpringBoot02:运行原理初探 - 遇见狂神说 - 博客园 (cnblogs.com) 自动配置原理:狂神说SpringBoot05:自动配置原理 - 遇见狂神说 - 博客园 (cnblogs.com)
阅读全文
摘要:什么是分布式系统? 在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算
阅读全文
摘要:1 启动zookeeper服务端 参考地址:springboot-安装zookeeper 2 创建两个项目 服务提供者 : 创建一个springboot项目命名为 provider-server ,创建过程中添加web模块 服务消费者 : 创建一个springboot项目命名为 consumer-s
阅读全文
摘要:1 下载 dobbo-admin GitHub中master-0.2.0下载地址:https://github.com/apache/dubbo-admin/archive/refs/heads/master-0.2.0.zip 2 下载完成后解压 打开解压后的文件,显示如下目录 3 打包dubbo
阅读全文
摘要:1 下载zookeeper zookeeper3.8.0版本下载地址:https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz 2 下载完成后解压 打开解压后的文件,显示如下目录 3 修改
阅读全文
摘要:项目开发中经常需要执行一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息,spring为我们提供了异步执行任务调度的方式,提供了两个接口 TaskExecutor接口 TaskScheduler接口 两个注解: @EnableScheduling @Scheduled 1 创建一个sp
阅读全文
摘要:1 新建一个springboot项目 参考地址:springboot-hello world 创建过程中添加web模块 2 发送简单邮件 2.1 引入邮件发送的依赖 pom.xml <!--邮件发送的依赖--> <dependency> <groupId>org.springframework.bo
阅读全文
摘要:1 创建一个springboot项目 参考地址:springboot-hello world 创建项目过程中添加web模块 2 同步任务 2.1 创建一个service包,并在该包下编写一个AsyncService src/main/java/com/lv/service/AsyncService.
阅读全文
摘要:承接:springboot-swagger:配置实体类和注释 1 测试 1.1 修改HelloController 在HelloController.java中添加一个方法 src/main/java/com/lv/controller/HelloController.java package co
阅读全文
摘要:承接:springboot-swagger:配置API分组 1 配置实体类 1.1 创建pojo包,并在该包下编写用户实体类 src/main/java/com/lv/pojo/User.java package com.lv.pojo; public class User { public Str
阅读全文
摘要:承接:springboot-swagger:配置开关 1 配置分组 如果没有配置分组,默认是default.通过groupName()方法即可配置分组 1.1 修改SwaggerConfig src/main/java/com/lv/config/SwaggerConfig.java //配置了Sw
阅读全文
摘要:承接:springboot-swagger:配置扫描接口 1 关闭swagger 1.1 修改SwaggerConfig 通过enable()方法配置是否启用swagger,如果是false,swagger将不能在浏览器中访问了 src/main/java/com/lv/config/Swagger
阅读全文
摘要:承接:springboot-swagger:配置基本信息 1 新建一个controller包,并在该包下编写一个HellorController src/main/java/com/lv/controller/HelloController.java package com.lv.controlle
阅读全文
摘要:承接:springboot-swagger:介绍和集成 1 修改swagger配置类 src/main/java/com/lv/config/SwaggerConfig.java package com.lv.config; import org.springframework.context.an
阅读全文
摘要:1 swagger介绍 1.1 前后端分离: 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 1.2 产生的问题 前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发 1.3 解决思路 首先定义sc
阅读全文
摘要:承接:springboot-shiro:请求授权 1 引入thymeleaf-shiro整合依赖 pom.xml <!--thymeleaf-shiro整合包--> <dependency> <groupId>com.github.theborakompanioni</groupId> <artif
阅读全文
摘要:承接:springboot-shiro:整合mybatis 1 修改数据库中的用户表 增加了一个权限的字段 2 修改实体类,添加新增加的字段 src/main/java/com/lv/pojo/User.java package com.lv.pojo; import lombok.AllArgsC
阅读全文
摘要:承接:springboot-shiro:用户认证 1 导入整合mybatis的相关依赖 pom.xml <!-- 引入myBatis,这是MyBatis官方提供的适配Spring Boot的,而不是SpringBoot自己的--> <dependency> <groupId>org.mybatis.
阅读全文
摘要:承接:springboot-shiro:登录拦截 1 在MyController中增加登录控制器 src/main/java/com/lv/controller/MyController.java @RequestMapping("/login") public String login(Strin
阅读全文
摘要:承接:springboot-shiro:搭建测试环境 1 编写一个登录页面 src/main/resources/templates/index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ti
阅读全文
摘要:1 创建一个springboot项目 参考地址:springboot-hello world 创建过程中添加web模块 2 导入thymeleaf依赖 pom.xml <!--thymeleaf模板引擎--> <dependency> <groupId>org.thymeleaf</groupId>
阅读全文
摘要:1 创建一个普通的maven项目 2 引入依赖 pom.xml <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <groupId>org.apache.shiro</groupI
阅读全文
摘要:承接:springboot-springsecurity:注销和权限控制 1 记住我实现 1.1 在SecurityConfig中添加http.rememberMe();这行代码 src/main/java/com/lv/config/SecurityConfig.java package com.
阅读全文
摘要:承接:springboot-springsecurity:用户认证和授权 1 账户注销 1.1 在SecurityConfig中加入开启注销功能的代码 src/main/java/com/lv/config/SecurityConfig.java package com.lv.config; imp
阅读全文
摘要:承接:springboot-springsecurity:测试环境搭建 1 引入springsecurity依赖 pom.xml <!--springSecurity--> <dependency> <groupId>org.springframework.boot</groupId> <artif
阅读全文
摘要:1 创建一个springboot项目 参考地址:springboot-hello world 创建项目过程中引入web依赖 2 导入thymeleaf依赖 pom.xml <!--thymeleaf模板引擎--> <dependency> <groupId>org.thymeleaf</groupI
阅读全文
摘要:1 springboot对springmvc的默认配置 视图解析器:Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. 支持静态资源文件夹的路径,以及webjars: Support for serv
阅读全文
摘要:1 新建一个sprigboot项目 项目创建过程中,导入以下三个包 2 导入mybatis所需要的依赖 pom.xml </dependency> <!--mybatis-spring-boot-starter--> <dependency> <groupId>org.mybatis.spring.
阅读全文
摘要:继续使用这篇博客中的项目:springboot-整合JDBC 1 配置Druid数据源 1.1 在pom.xml中引入Druid数据源依赖 <!--Druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</art
阅读全文
摘要:1 搭建一个springboot项目 参考地址:springboot-hello world 2 在pom.xml中引入依赖 <!--Web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-
阅读全文
摘要:承接:springboot-项目实战:修改员工 1 删除员工 修改删除员工的按钮 list.html <a class="btn btn-sm btn-danger" th:href="@{/employeeDelete/}+${employee.getId()}">删除</a> 在员工控制器中编写
阅读全文
摘要:承接:springboot-项目实战:增加员工 1 修改编辑员工的按钮 将按钮button改为 a链接,编写跳转地址为修改页面的请求并携带要修改的员工id作为参数 list.html <a class="btn btn-sm btn-primary" th:href="@{/employeeUpda
阅读全文
摘要:承接springboot-项目实战:展示员工列表 1 增加添加员工的按钮 在员工列表的上面增加一个添加员工的按钮 list.html <h2><a class="btn btn-sm btn-success" th:href="@{/employeeAdd}">添加员工</a></h2> 2 在员工
阅读全文
摘要:承接:springboot-项目实战:登录拦截器 1 修改templates目录 在templates目录下新建两个文件夹,一个是 commons 用来存放页面的公共部分,另个一是 emp 用来存放和员工相关的页面,然后将 list.html 页面移动到 emp文件夹下 2 编写员工控制器 在con
阅读全文
摘要:承接:springboot-项目实战:登录实现 1 修改登录控制器 在LoginController中添加一条如果登录成功了,就在session中存入用户信息 session.setAttribute("loginUser",userName); 修改后的LoginController.java如下
阅读全文
摘要:承接:springboot-项目实战:国际化 1 修改MyMvcConfig.java 在MyMvcConfig.java的addViewControllers方法中增加一条视图控制,也就是增加了下面这行代码,目的是让 /main.html 的请求跳转到 dashhoard.html 页面 regi
阅读全文
摘要:承接:springboot-项目实战:首页实现 1 在resources目录下新建一个文件夹 i18n 2 在 i18n 文件夹下创建国际化的配置文件 login.properties login_en_US.properties login_zh_CN.properties 注意名称不能写错,创建
阅读全文
摘要:承接:springboot-项目实战:准备阶段 1 在config层添加mvc配置类,并重写视图控制方法 addViewControllers方法中的内容代表 当请求是 "/" 或者是 "/index.html" 时跳转到 index.html 页面 MyMvcConfig.java package
阅读全文
摘要:1 搭建一个springboot项目 参考地址:springboot-hello world 2 导入静态资源文件 文件地址:员工管理系统静态资源文件下载 导入的位置: 3 初步创建包结构 4 在pom.xml中导入lombok <!--导入lombok--> <dependency> <group
阅读全文
摘要:1 页面跳转 1.1 搭建springboot项目 参考地址:springboot-hello world 1.2 在pom.xml中引入thymeleaf依赖 <!--thymeleaf模板引擎--> <dependency> <groupId>org.thymeleaf</groupId> <a
阅读全文
摘要:1 搭建一个springboot项目 参考地址:springboot-hello world 2 运行项目,访问首页 首页和网站图标都是spring默认的 3 定制主页 3.1 在/resources/sataic目录下新建一个 index.html 文件 <!DOCTYPE html> <html
阅读全文
摘要:1 使用webjars方式导入 webjars的本质就是以jar包的方式引入我们需要的静态资源,之前导入静态资源,只需直接导入即可,但在springboot中需要使用webjars,接下来演示使用webjars导入jquery的过程 1.1 搭建一个springboot项目 参考地址:springb
阅读全文

浙公网安备 33010602011771号