08 2020 档案
摘要:File类 java.io.File 类是文件和目录,路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 File可以表示目录,也可以表示文件 构造方法 方法名 作用 public File(String pathname) 通过给定的路径名,字符串转换为抽象路径名来创建新的 File实例
阅读全文
摘要:目录 01-项目简介 02-环境搭建 03-数据库表介绍 04-后端项目环境搭建-01 05-后端项目环境搭建-02 06-后端项目环境搭建-03 07-前端项目环境搭建 08-系统管理后端开发-01 09-系统管理后端开发-02 09-系统管理前端开发-01 10-系统管理前端开发-02 11-系
阅读全文
摘要:集合 集合:就是用来 存放数据 的一个 容器 Java提供的集合类 长度可以改变 能存储任意的对象 长度是随着你元素的个数增加而增加 🐤数组和集合的区别 数组能存 基本数据类型,和 引用数据类型 集合当中只能存放 引用数据类型,直接放基本数据类型,也会自动帮你装箱(把基本数据类型转成对象)集合当中
阅读全文
摘要:协议 约束双方规范的一个准则(标准) HTTP协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议 所有的WWW文件都必须遵守这个标准 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方式(方法) 约束请求与响应的规
阅读全文
摘要:CS与BS 软件使用方式上的两种划分 C/S:Client/Server PC客户端与服务器的架构 特点:在服务器当中就主要是一个数据库,把所有的业务逻辑处理以及界面展示都交给客户端完成 优点:较为安全,用户界面丰富,用户体验好 缺点:每次升级都要重新安装,针对于不同的操作系统要开发不同的版本,可移
阅读全文
摘要:Elasticsearch客户端 客户端介绍 在elasticsearch官网中提供了各种语言的客户端(也就是用来连接ES,用来操作ES的) 官方地址:https://www.elastic.co/guide/en/elasticsearch/client/index.html 我们接下来要学习的是
阅读全文
摘要:SpringData-ElasticSearch简介 SpringDataES SpringDataElasticsearch(以后简称SDE)是SpringData项目下的一个子模块,是Spring提供的操作ElasticSearch的数据层,封装了大量的基础操作,通过它可以很方便的操作Elast
阅读全文
摘要:包装类 在面向对象当中一切皆对象 基本数据类型变量不是对象,比如 int a = 10; 当中就没有对象,所以就很矛盾 此时我们就可以对基本数据类型进行包装,把基本数据类型包装为一个对象 把基本数据类型变的更强大,以面向对象的思想来去使用这些类型 🐤对基本数据类型包装的好处 使用包装类后,功能变的
阅读全文
摘要:抽象方法 我先举个例子引出抽象方法,例如求圆、矩形、三角形、这些图形的面积 🐤发现的问题 每一个图形计算面积的方式都不一样, 所以每一个类都必须得要覆盖父类当中的getArea方法, 来去实现不同图形求面积的方式 🐸带来的问题 怎么样保证子类必须得要覆盖父类当中定义的方法 父类不需要提供方法体
阅读全文
摘要:查询文档 写Demo之前先来做一下初始化操作,创建数据库 use User 进入数据库 db 创建集合 db.createcollection('person') 插入数据 db.person.insert({name: 'BNTang', age: 23}, {name: 'JonathanLee
阅读全文
摘要:准备测试数据 drop table if exists stu; create table stu( id int auto_increment primary key, name varchar(20), age int ); insert into stu values (null, 'BNTa
阅读全文
摘要:多态 对象具有多种形态, 对象可以存在不同的形式 父类指针指向子类对象 在方法调用时, 通过父类进行调用, 真正执行时, 调用的是子类方法, 这种特征我们称之为多态 🐤多态的特点 把子类对象赋给父类变量 在运行时期会表现出具体的子类特征 调用子类的方法 既然子类是一种特殊的父类 那么我们可不可以认
阅读全文
摘要:单表查询 drop table if exists person; create table person( id int primary key, name varchar(20) ); insert into person values (1, 'BNTang'); insert into pe
阅读全文
摘要:封装思想 把对象的状态和行为看成一个统一的整体,将字段和方法放到一个类中 信息隐藏:把不需要让外界知道的信息隐藏起来 尽可能隐藏对象功能实现细节,向外暴露方法,保证外界安全访问功能 🐤封装的好处 保证数据的安全 提高组件的复用性 包 在开发中,我们存在几百上千个Java文件,如果所有的Java文件
阅读全文
摘要:概述 直接使用RestTemplate存在问题 在请求接口时, 路径仍存在问题, 只解决了服务名称, 没有解决服务后, 功能路径问题, 因为有可能是别人开发的, 你不知道后面功能路径是什么 什么是Feign Feign是一个声明式的WebService客户端 Feign旨在使编写Java HTTP客
阅读全文
摘要:原生依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.8.1</version> <
阅读全文
摘要:MarkDown语法 标题相关 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 一个 # 加一个空格,后面跟的就是标题的内容即可 例如:# 需要展示的标题内容 效果如下: 标题1 标题2 标题3 标题4 标题5 标题6 字体相关 字体
阅读全文
摘要:简单搜索 PUT /test3/_doc/2 { "name": "JonathanLee", "age": 23 } GET /test3/_doc/2 简单的条件查询,可以根据默认的映射规则,产生基本的查询 GET /test3/_doc/_search?q=name:JonathanLee 复
阅读全文
摘要:REST风格 一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制 🐤基本REST命令说明 methodName URLPath Desc PUT localhost:9200/索引名
阅读全文
摘要:IK分词器 分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱BNTang”会被分为"我”,"爱","BN","Tang",这显然是不符合要求的,所以我们需
阅读全文
摘要:面向过程 是站在过程的角度思考问题,强调的就是功能行为,功能的执行过程。 即先干啥,后干啥。而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现,使用的时候依次调用函数就可以了。 按顺序一个一个来去做。 🐤面向过程的设计 最小的程序单元是 函数,每个函数负责完成某一个功能,用以接受输入数
阅读全文
摘要:ElasticSearch安装 下載地址:https://www.elastic.co/cn/downloads/elasticsearch 下载完毕之后解压,运行 elasticsearch.bat,之后浏览器访问http://127.0.0.1:9200/ ElasticSearch-Head
阅读全文
摘要:过滤器介绍 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行 并且可以对目标资源访问前后进行逻辑处理 🐤过滤器编写步骤 编写一个过滤器的类实现Filter接口 实现接口中尚未实现的方法(重点实现doFilter方法) 在web.xml中进行配置(主要是配置要对哪些资源进行过滤)
阅读全文
摘要:代理设计模式 当某一个对象发生某一个事件时,通知另一个对象,让另一个对象做某事 🐤代理设计模式步骤 定义好协议(接口) 遵守协议(实现接口) 成为代理 调用代理方法 监听器的内部使用的就是代理模式 监听器简介 能监听某个对象的状态变化的组件 监听域对象的变化 🐤监听器相关的概念 事件源:被监听的
阅读全文
摘要:Eureka集群 服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步 当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地 下次再调用时,则直接从本地缓存中取,完成一次调用 修改HOST文件 12
阅读全文
摘要:主键 MongoDB的主键和MySQL一样,也是用于保证每一条数据唯一性的 和MySQL不同的是,MongoDB中的主键无需明确指定 每一个文档被添加到集合之后,MongoDB都会自动添加主键 MongoDB中文档主键的名称叫做 _id 默认情况下文档主键是一个ObjectId类型的数据 Objec
阅读全文
摘要:介绍 随着java的发展,越来越多的企业开始使用java8版本。Java8是自从java5之后最重要的版本,这个版本包含语言、编译器、库、工具、JVM等方面的十多个新特性。 🐤JDK8新增的特性如下 Lambda表达式 新的日期API、Datetime 引入Optional防止空指针异常 使用Ba
阅读全文
摘要:Eureka注册中心 eureka是Netflix的子模块之一,也是一个核心的模块 eureka里有2个组件 一个是EurekaServer(一个独立的项目) 这个是用于定位服务以实现中间层服务器的负载平衡和故障转移 一个便是EurekaClient(我们的微服务)它是用于与Server交互的,可以
阅读全文
摘要:多工程之间存在的问题 🐤多工程之间访问与部署存在的问题 单台服务器的并发太低,如果一台服务器挂掉,带来的问题 同样的服务,可能部署多台 这样就带来了一个问题,部署了多台服务,该访问哪一台,使用之前的方式就无法确定了 把url地址硬编码到了代码中,不方便后期维护 需要记忆user-service的地
阅读全文
摘要:什么是数据的完整性 保证保存到数据库中的数据都是正确的 🐤如何保证数据完整性 数据的完整性可以分为三类:实体完整性、域完整性、参照完整性 无论是哪一种完整性都是在创建表时给表添加约束即可 实体完整性 🐤什么是实体 表中的一行数据就是一个实体(entity) 🐸如何保证实体完整性 保证实体完整性
阅读全文
摘要:SpringCloud是什么 微服务是一种架构方式 如果你足够了解微服务是什么概念,其实微服务就算不借助任何技术也能实现,只是有很多问题需要我们解决 例如:负载均衡,服务的注册与发现,服务调用,网关等 SpringCloud将处理这些问题的的技术全部打包好了,进行统一处理 官网:https://sp
阅读全文
摘要:集成Ribbon 🐤使用Ribbon 不需要添加新的依赖 在RestTemplate上添加注解@LoadBalanced 在调用时,就可以使用服务名称来进行调用,和之前的使用方式,是一样的
阅读全文
摘要:Nacos集群 编译源码,支持mysql8数据库,Nacos1.3.1开始就已经支持MySQL8了 如果使用的不是Nacos1.1.4,就不支持,需要自己手动编译源码MySQL驱动包 可以参考:https://www.cnblogs.com/TangXiaoHuiHui/protected/arti
阅读全文
摘要:服务注册与发现 🐤工程准备 创建父工程,在父工程当中导入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.
阅读全文
摘要:Nacos概述 Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集 帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理 🐤关键特性 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html 搭建Nacos-Ser
阅读全文
摘要:概述 SpringCloud-Alibaba,致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件 方便开发者通过SpringCloud编程模型轻松使用这些组件来开发分布式应用服务 依托SpringCloud-Alibaba,您只需要添加一些注解和少量配置 就可以将Sprin
阅读全文
摘要:单人开发使用Git 首先需要创建一个工作区也就是一个文件夹,创建好了文件夹打开文件夹,进入到文件夹当中,进入之后鼠标右键打开Git的终端界面 打开之后呢,如果想使用Git管理工作区当中的代码,首先需要初始化Git,在终端当中输入如下命令 初始化版本库 git init 输入之后呢,他会自动的在工作区
阅读全文
摘要:Redis高可用性 如果所有用户都从同一台Redis服务器上读写数据,那么如果这台Redis服务器宕机了,用户就不能进行读写了 如果我们有多台Redis服务器,并且每台服务器中存储的内容都相同,那么即使有一台服务器宕机了,用户还可以继续使用其它的Redis服务器 以上这种特点,我们就称之为高可用性
阅读全文
摘要:Redis数据持久化 默认情况下Redis是将数据保存在内存中的,保存在内存中的数据有一个特点,那就是机器重启之后数据就会丢失 所以为了避免服务器重启死机等问题发生的时候,Redis中保存的数据丢失,Redis提供了数据持久化功能 什么是数据持久化 数据持久化就是将内存中的数据写入到磁盘中 Redi
阅读全文
摘要:什么是发布订阅 在发布订阅中有三个角色:发布者(publisher)订阅者(subscriber)频道(channel) 只要发布者将消息发送到对应的频道中,那么所有的订阅者都能收到这个消息,这个就是Redis的发布订阅 🐤现实生活中的发布订阅 张三和李四去商店买鞋,但是最近炒鞋的人比较多,要买的
阅读全文
摘要:什么是ZSet ZSet是有序集合,Redis可以把一堆通过权重排序的数据当做一个Value存储起来 Redis-ZSet类型-增删改查 🐤新增 语法:zadd key 权重 value 权重 value zadd names 99 BNTang 77 zs 88 ww 🦄查询 查询指定排名范围
阅读全文
摘要:Redis-Set类型-增删改查 集合就是一堆无序的数据,Redis可以把一堆无序的数据当做Value存储起来 集合中不能出现重复的数据 🐤新增 语法:sadd key value1, [value2, ...] sadd names BNTang JonathanTang xhh 🍳查询 返回
阅读全文
摘要:Redis-List类型-增删改查 Redis的Value除了可以存储字符串和Hash类型以外,还可以存储List类型 List类型就相当于JavaScript中的数组,可以把整个数组当做一个Value存储起来 List是有序的 ✒增加 从第二个Value开始添加到前一个Value的左边 语法:lp
阅读全文
摘要:Redis-Hash类型-增删改查 Redis的Value除了可以存储普通的字符串类型以外, 还可以存储Hash类型,Hash类型就相当于在JS中的对象, 可以把整个对象当做一个Value存储起来 🐤增加 格式:hset key field value hset user name BNTang
阅读全文
摘要:默认数据库 默认情况下Redis给我们创建了16个数据库(0~15),如果使用的时候没有明确的选中使用哪个数据库, 那么默认使用第0个 🐤切换数据库 select 1 字符串类型 🥣新增 语法: set key value set name BNTang 🥞查询 语法: get key get
阅读全文
摘要:Redis数据类型 Redis是以key-value的形式存储数据的 key无论如何都是字符串类型 Value支持如下的五种数据类型 字符串(String) 哈希(Hash) 列表(list) 无序集合(sets) 有序集合(sorted sets) String字符串 格式: key value
阅读全文
摘要:多线程概述 🐤并行与并发 并行:指两个或多个事件在同一时刻发生(同时发生) 并发:指两个或多个事件在同一个时间段内发生(交替执行) 🐱👤举例 你吃饭吃到一半, 电话来了, 你一直吃饭, 吃完了才接电话, 这就说明你不支持并发也不支持并行 你吃饭吃到一半, 电话来了, 你停止了吃饭, 接了电话
阅读全文
摘要:连接MongoDB服务器 通过 mongo 连接MongoDB服务器 mongo 查看数据库 和MySQL中的 show databases; 指令一样 show dbs 创建数据库 use 数据库名称 和MySQL中的 use 指令一样, 只不过MongoDB中的 use 数据库 不存在会自动创建
阅读全文
摘要:什么是Redis Remote Dictionary Server(远程字典服务器) Redis是一个开源的使用C语言编写的数据库 Redis和MongoDB一样是NoSQL类型的数据库,不同的是MongoDB存储的是文档, 而Redis存储的是键值对(Key-Value) Redis特点 🐤速度
阅读全文
摘要:安装MongoDB 下载地址:https://www.mongodb.org/dl/win32 MongoDB版本号:偶数为稳定版(推荐),基数为开发版 MongoDB对32位操作系统支持不佳,不推荐在32位系统上使用,并且官方已经停更32位安装包 MongoDB安装步骤 全程下一步 默认安装在C盘
阅读全文
摘要:方法概述与定义 就是一个小功能,把一段代码存起来,以后可以重复使用。 public static void BNTang(){ System.out.println("BNTang"); } 🐪方法注意点 方法必须声明到类(class)当中。 public class Test { public
阅读全文
摘要:什么是MongoDB 存储文档(BSON)的非关系型数据库 MongoDB和MySQL一样都是数据库,都是存储数据的仓库 不同的是MySQL是关系型数据库,而MongoDB是非关系型数据库 什么是非关系型数据库 在关系型数据库中,数据都是存储在表中的,对存储的内容有严格的要求,因为在创建表的时候我们
阅读全文
摘要:MySQL为什么要提供数据类型 如果没有数据类型,那么MySQL就不知道需要分配多大的存储空间来存储你的数据 过大会浪费会造成资源浪费,体积变大效率变低,过小可能导致数据溢出不能完整的保存数据 所以MySQL提供数据类型的目的是为了让我们合理的分配存储空间,降低数据库的体积 为了让我们合理的分配存储
阅读全文
摘要:下载Navicat http://www.navicat.com.cn 点击产品 点击免费试用 Navicat安装 如下有的链接可能破解不了也有可能失效了,但是其中总会有一个可以使用的,自行打开自行破解即可。 https://baijiahao.baidu.com/s?id=166903589327
阅读全文
摘要:插入数据 insert into 表名 (字段名称1, 字段名称2) values (值1, 值2); 🐤创建表 create table if not exists stu( id int, name varchar(20) ); insert into stu (id, name) value
阅读全文
摘要:🐤注意点 在对数据库的表进行操作的时候(增删改查),都必须先告诉MySQL我们要操作的是哪一个数据库 use 数据库名称; use bntang; 查看数据库中有哪些表 show tables; 查看指定表结构 desc 表名; desc stu; 创建表 create table 表名( 字段名
阅读全文
摘要:查看数据库全局默认编码 show variables like 'character_set_%'; 查看某个数据库编码 show create database person; 特殊数据库名称处理 create database if not exists `create` charset=utf
阅读全文
摘要:如何使用MySQL 学习MySQL和学习Excel差不多 使用Excel步骤:安装Excel,创建Excel文件,创建表,在表中存储数据 使用MySQL步骤:安装MySQL,创建数据库,创建表,在表中存储数据 学习MySQL本质上就是学习数据库的增删改查(CRUD) 在MySQL中主要有三种类型的增
阅读全文