04 2020 档案

摘要:分布式事务介绍: 1.什么是事务? 数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。如转账业务:一方扣款,一方增加金额。 2.事务的四个特性? 1.原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么 阅读全文
posted @ 2020-04-27 11:22 moonlighter 阅读(494) 评论(0) 推荐(0)
摘要:Spring Aop介绍: 1.Aop介绍 Spring Aop是面向切面编程,底层是动态代理。可以实现在不改变源码的情况下,对目标方法进行增强。 Spring Aop支持声明式事务,与编程式事务相比较,声明式事务最大的优点就是不需要通过编程的方式管 理事务,这样就不需要在业务逻辑代码中掺杂事务管理 阅读全文
posted @ 2020-04-25 17:42 moonlighter 阅读(161) 评论(0) 推荐(0)
摘要:Mybatis的使用: 前面我们已经介绍了SSM框架的整合,下面介绍下Mybatis的使用: 1.首先介绍下xml方式入门: 1.Dao接口:和之前SSM整合一样,使用Mybatis需要Dao接口: Repository public interface UserDao { public List< 阅读全文
posted @ 2020-04-24 21:32 moonlighter 阅读(190) 评论(0) 推荐(0)
摘要:SSM整合: 1.环境准备 1.数据库环境:创建数据库和表; create database ssm; use ssm; create table account( id int primary key auto_increment, name varchar(40), money double ) 阅读全文
posted @ 2020-04-23 14:30 moonlighter 阅读(217) 评论(0) 推荐(0)
摘要:动态代理模式: 作用:在不改变源码的情况下,对现有的方法进行增强。 代码演示; 1.一个接口: public interface Printer { void print(); } 2.一个实现类:被增强类 public class PrinterImpl implements Printer { 阅读全文
posted @ 2020-04-22 18:37 moonlighter 阅读(138) 评论(0) 推荐(0)
摘要:IO介绍 1.File类: File类: 文件或目录(文件夹)的**路径名。 构造方法: public File(String pathname) : 创建了一个File对象, 表示的是参数中路径所代表的文件(文件夹)。 public File(String parent, String child 阅读全文
posted @ 2020-04-22 15:38 moonlighter 阅读(124) 评论(0) 推荐(0)
摘要:工厂模式介绍 1.工厂模式? 工厂设计模式是最常见的设计模式之一,在工厂模式中,提供一种最佳的创建对象的方式,最大程度的实现代码的解耦。 工厂模式的优缺点: 优点: 高度解耦,不需要再去new对象; 扩展性高:当你想增加一个产品,只需要扩展工厂类,并增加一个产品即可; 使用简单:屏蔽了产品的具体实现 阅读全文
posted @ 2020-04-22 10:42 moonlighter 阅读(128) 评论(0) 推荐(0)
摘要:设计模式介绍 1.什么是设计模式? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式 是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编制真正工程化,设计模式是软件工程的基石, 如同大厦的一块块砖石一样 阅读全文
posted @ 2020-04-22 10:21 moonlighter 阅读(131) 评论(0) 推荐(0)
摘要:Linux介绍: Linux是基于Unix的开源免费,多用户,多任务的操作系统。 由于Linux系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。 为什么需要学Linux? Windows存在一些不足: 1.个人用户正版windows需要收费 2. 系统长时间运行后,不稳定,变慢,容易死机 3 阅读全文
posted @ 2020-04-17 18:41 moonlighter 阅读(188) 评论(0) 推荐(0)
摘要:Map集合介绍: 1.特点: 存储数据的结构:键值对; 键唯一:键不能重复; 一个键最多对应一个值,可以值为空; public class MapDemo { public static void main(String[] args) { HashMap<Integer,String> map = 阅读全文
posted @ 2020-04-15 17:09 moonlighter 阅读(141) 评论(0) 推荐(0)
摘要:集合介绍 1.集合是什么? 容器:用来存放数据的东西. 在java中,集合就是容器,用来存放不同类型的数据. 2.集合和数组的区别: 共同点: 集合和数组都是容器,都可以存储数据; 不同点: 1.集合长度可变,数组长度是固定的; 2.集合只能存储引用类型的数据,不能存储基本类型,而数组可以存储基本类 阅读全文
posted @ 2020-04-15 17:04 moonlighter 阅读(199) 评论(0) 推荐(0)
摘要:Oauth2.0介绍: 第三方认证技术方案最主要是解决认证协议的通用标准 问题,因为要实现 跨系统认证,各系统之间要遵循一定的接口协议。 OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务 阅读全文
posted @ 2020-04-13 08:03 moonlighter 阅读(2146) 评论(0) 推荐(0)
摘要:Thymeleaf介绍: 1.thymeleaf是什么? thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库, 基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库 阅读全文
posted @ 2020-04-11 11:30 moonlighter 阅读(204) 评论(0) 推荐(0)
摘要:ElasticSearch搜索工具Kibana的使用: 1. 访问网址:ip+端口: 例如配置的虚拟机上安装了Kibana:http://192.168.211.132:5601 2. 在Dev Tools输入DSL语句: # 查询所有索引 GET /_cat/indices?v # 创建索引usr 阅读全文
posted @ 2020-04-09 19:38 moonlighter 阅读(608) 评论(0) 推荐(0)
摘要:MQ进阶: 1.springboot整合rabbitMQ: 为了方便,这里只是模拟使用场景,所以不创建多个系统了,自己给自己发消息; 1.创建工程it-springboot-rabbitmq,添加依赖: <?xml version="1.0" encoding="UTF-8"?> <project 阅读全文
posted @ 2020-04-06 17:07 moonlighter 阅读(317) 评论(0) 推荐(0)
摘要:MQ及rabbitMQ的介绍: 1. 没有使用MQ, 系统中可能存在的一些问题: 以电商系统为例, 如下图所示: 在系统中, 用户下了一个订单, 会有很多业务需要处理, 如果这些业务比较耗时, 会导致给用户的响应非常慢, 影响用户体验; 另外, 这种模式还存在耦合性不好以及可扩展性差的问题. 使用M 阅读全文
posted @ 2020-04-05 16:41 moonlighter 阅读(998) 评论(0) 推荐(0)
摘要:Gateway的介绍: 1. 为什么需要Gateway? 在微服务架构中,微服务系统的开发存在如下问题: 1. 每一个微服务都有各自的端口,导致端口太多,不易维护; 2. 跨域问题的解决; 3. 权限的问题解决; 2. Gateway的作用: Gateway其实就是一个微服务系统,接收所有的请求,根 阅读全文
posted @ 2020-04-04 17:55 moonlighter 阅读(852) 评论(0) 推荐(0)
摘要:OpenFeign的介绍: 1. 什么是OpenFeign? 在前面的spring cloud使用中。我们使用restTemplate实现了系统之间的通信,但是这种使用方式,代码耦合性还是比较高; 因此,我们需要一种更加方便优雅的使用方式。这就需要用到OpenFeign了。 OpenFeign:是一 阅读全文
posted @ 2020-04-04 11:39 moonlighter 阅读(1333) 评论(0) 推荐(0)
摘要:Hystrix的介绍: Hystrix,是spring cloud的一个组件,是一种保护机制,用于隔离访问远程服务,防止出现级联失败(雪崩效应)。 Hystrix处理请求的策略: 服务降级:Fallback,可以理解为备胎,从五星级降到四星级等; 线程隔离:避仓模式,默认的一种策略;例如新冠肺炎在某 阅读全文
posted @ 2020-04-03 22:21 moonlighter 阅读(276) 评论(0) 推荐(0)
摘要:Ribbon的介绍: Ribbon是spring cloud的一个组件,是Netflix发布的负载均衡器,有助于控制HTTP客户端行为。为Ribbon配置服务提供者地址列表后, Ribbon就可基于负载均衡算法,自动帮助服务消费者请求。 Ribbon默认提供的负载均衡算法有:轮询,随机,重试法,加权 阅读全文
posted @ 2020-04-03 20:26 moonlighter 阅读(238) 评论(0) 推荐(0)
摘要:Eureka的介绍: Eureka是spring cloud框架的一个组件,作为注册中心,使用推拉机制动态获取IP和端口。 Eureka的配置: 1. Eureka-server端的配置文件application.yml: server: port: 7001 eureka: client: reg 阅读全文
posted @ 2020-04-03 19:15 moonlighter 阅读(282) 评论(0) 推荐(0)
摘要:SpringCloud介绍: 1. 什么是微服务? 微服务架构(Microservice Architecture)是一种架构概念,旨在将功能点进行比较细粒度的拆分, 拆成一个个可以独立运行和发布部署的独立系统。这些系统我们就称为微服务系统。微服务系统近乎完全解耦。 2. 微服务架构的实现技术: d 阅读全文
posted @ 2020-04-03 17:54 moonlighter 阅读(205) 评论(0) 推荐(0)
摘要:1. 需求说明: 当加入redis客户端的坐标的时候,自动配置jedis的bean 加载到spring容器中; 2. 实现步骤: 1.创建工程 it-redis-springboot-starter 用作起步依赖 2.添加依赖 1. pom文件 <?xml version="1.0" encodin 阅读全文
posted @ 2020-04-02 18:45 moonlighter 阅读(170) 评论(0) 推荐(0)
摘要:SpringBoot自动配置原理: 1. Condition接口: Condition接口是spring4.0之后提供的接口,增加条件判断功能,用于选择性的创建Bean对象到spring容器中。 在Condition接口有一个方法:matches(),该方法用于判断,当加入了相关坐标依赖后,返回值为 阅读全文
posted @ 2020-04-02 12:15 moonlighter 阅读(346) 评论(0) 推荐(0)
摘要:1. Springboot整合Junit 1. 加入起步依赖 <!--测试起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId 阅读全文
posted @ 2020-04-01 18:10 moonlighter 阅读(365) 评论(0) 推荐(0)