自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Node.js和npm、vue脚手架

1. Node.js安装node.js里面会自动携带npm进入node.js官网node.js官网下载完成后,运行下载后的文件可以一直点击next (Node.js默认安装目录为 “C:\Program Files\nodejs” , 是可以修改目录,并点击 next(下一步))—》next-----》install-----》最后finish检验nodejs是否安装成功node -v :可以看到vodejs的版本号设置npm的淘宝镜像npm install -g cnpm --reg

2021-04-28 22:51:33 184 1

原创 ElementUI简单布局

ElementUi文档地址:ElementUi文档地址搭建一个简单的ElementUi的布局步骤:一、(1)引入相关的库我这里是下载到本地后 引入的: <!--引入elementui的css样式--> <link rel="stylesheet" href="../css/index.css"> <!--引入elementui组件库样式--> <link rel="stylesheet" href="../theme-chalk-m

2021-04-28 21:59:11 1886

原创 vue快速入门

Vue快速入门简介Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。学习前通知需要对html、css、javascript、ajax有简单了解vue基础el挂载点:el:挂载点 el是用来设置Vue实例挂载(管理)的元素1.Vue实例的作用范围是什么? Vue会管理el选项命中的元素机器内部的后代元素2.是否可以

2021-04-26 22:20:16 114

原创 Stream流(Java8)

Stream流1.流stream:保存对集合或数组数据的操作,和集合类似,但集合中保存的是数据1.1 特点:stream 自己不会存储元素stream 不会改变源对象,相反,会返回一个持有结果的新streamstream 操作是延迟执行的,意味着他们会等到需要结果的时候才执行1.2 步骤:1.创建 新建一个流2.中间操作 在一个或多个步骤中,将初始stream转化到另一个stream的中间操作3.终止操作 使用一个终止操作来产生一个结果,该操作会强制它之前的延迟操作立即执行,之后

2021-04-26 11:25:07 109

原创 spring boot使用redis、缓存穿透、雪崩

springboot连接redis使用redisTemplate该类可以存放任意类型的数据,但是该类型的数据必须实现序列,获取redis中对应的数据时,会进行反序列化。 如果使用RedisTemplate建议大家指定key,value,以及hashkey的序列化方式配置 配置类@EnableCaching@Configurationpublic class RedisConfig extends CachingConfigurerSupport { @Bean public

2021-04-23 12:06:16 228

原创 rabbitMQ集群

普通集群以两个节点(rabbit1、rabbit2)为例来进行说明对于Queue来说,消息实体只存在于其中一个节点rabbit1(或者rabbit2),rabbit1和rabbit2两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit1节点的Queue后,consumer从rabbit2节点消费时,RabbitMQ会临时在rabbit1、rabbit2间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队

2021-04-23 10:05:59 206

原创 rabbitMQ高级特性

1.消息可靠性投递 2.Consumer ACK 3.消费端限流 4. TTL 5. 死信队列 6. 延迟队列 7. 消息的幂等性消息可靠性传递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。消息投递步骤:生产者(channel)---->交换机------>队列中保证消息的可靠性:1. 保证消息从发送者到交换机的可靠性: 使用Confirm确认机制。2. 保.

2021-04-22 10:23:56 206

转载 Linux安装JDK和Tomcat教程

Linux安装JDK和Tomcat教程代码块左侧有复制按钮,点击复制,直接在命令窗口右击粘贴,命令会自动运行,多行代码会按照顺序依次执行。目前可以右击粘贴:centos7可视化界面,xshell,其他工具暂未测试apache-tomcat-9.0.45.tar网盘文件链接:https://pan.baidu.com/s/1Jn39yDfa5WYU4pKodmSKDg提取码:yebnjdk-8u141-linux-x64.tar网盘文件链接:https://pan.baidu.com/s/1W0

2021-04-19 22:26:34 106

原创 rabbitMQ的结构以及每个组件的作用

结构图:介绍: Broker:接收和分发消息的应用,RabbitMQ Server就是 Message Broker Virtual host:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个vhost,每个用户在自己的 vhost 创建 exchange/queue 等 Connection:publisher/consumer 和

2021-04-19 22:09:40 450

原创 rabbitMQ-消息中间件

一:简单介绍MQ:全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信MQ优缺点 ①:优点1.应用解耦:提高系统容错性和可维护性2.异步提速:提升用户体验和系统吞吐量3.削峰填谷:提高系统稳定性②缺点1.系统可用性降低系统引入的外部依赖越多,系统稳定性越差。一旦 MQ 宕机,就会对业务造成影响2.系统复杂度提高MQ 的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过 MQ 进行异步调用二:常见的MQ三:L

2021-04-19 21:14:38 275

原创 redis集群搭建(哨兵、去中心集群)

1.哨兵模式哨兵模式的缺点:1. 没有解决单节点的问题。2. 持久化文件始终在一个服务器上。步骤:1.创建文件夹并且把redis.conf配置文件cp三份到 master_slave_sentinel文件夹中 并且修改2.分别修改上面三个文件的端口号(我这里设置的是8001、8002、8003)以及rdb持久化文件的名称 并aof关闭(关闭防火墙 三个)3. 启动redis时指定上面的三个配置文件启动redis 客户端测试:启动哨兵模式下一步 :关闭主节点看哨兵发出的信息此时

2021-04-14 23:04:54 133

原创 Redis的持久化方式

1.持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。2.持久化方式redis支持的持久化方式两种:(1)RDB:快照 其实就是把数据以快照的形式保存在磁盘上,什么是快照呢?可以理解成把当前时刻的数据拍成一张照片保存下来。rdb优点:(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。rdb

2021-04-13 22:18:13 92

原创 redis非关系数据库

redis非关系数据库1.什么是redisRedis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性2.NOSQL和RDBMS的区别RDBMS(关系型数据库)高度组织化结构化数据。 user—use

2021-04-12 20:31:27 171

原创 Nginx

nginx的作用反向代理负载均衡动静分离nginx中常用的一些命令./nginx 开启nginx./nginx -s stop 关闭nginx./nginx -s reload 重新加载nginx1.nginx实现反向代理1.准备一个springboot工程 这里我把这个springboot工程打成jar包放在了根目录下2.进到vi usr/nginx/conf/nginx.conf 添加一个代理端口 proxy_pass回到 cd /usr下 java

2021-04-11 19:46:00 67

原创 Linux安装nginx

1. nginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等2.安装nginx1.安装nginx依赖的环境1.1yum install -y gcc-c++1.2. yum

2021-04-11 14:39:17 92

原创 Linux软件安装

软件安装的方式二进制安装。—只需要解压就可以。 只针对特殊平台。 比如jdk tomcatRPM: 按照一定的规范就可以安装该软件。 有依赖的软件 先下载安装它的依赖软件。yum 远程安装 基于RPM 帮你把依赖的文件安装上去。安装源码安装。 编译—>打包---->安装。...

2021-04-11 13:54:57 58

原创 Linux 简单命令

常见命令1.ifconfig 查询网络配置 2. ping ip 查看网络是否联通(停止 ctrl+c/+z)cd:切换目录cd . ./: 切换到上一级目录。cd ~: 切换到root目录cd /: 切换到根目录。cd 目录:ls: 列出当前目录下的所有子文件或子目录ls: 列出当前目录下的子文件或子目录ls 目录名: 列出指定目录下子文件或子目录ls -a: 列出当前目录下的所有子文件或子目录 包含隐藏。ls -l: 列出详细信息pwd: 查询当前所在的目录例:m

2021-04-11 12:23:25 178

原创 springboot整合shiro(用的mybatis-plus)

工程结构1.在pom.xml中引入jar <!--druid jar--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version>

2021-04-10 21:50:28 100

原创 ssm整合shiro安全框架

1.工程结构1.准备依赖 <!-- 声明常量 --> <properties> <servlet.version>3.1.0</servlet.version> <jsp.version>2.3.1</jsp.version> <spring.version>4.3.24.RELEASE</spring.version> <mybatis.version>3.

2021-04-10 21:07:48 149

原创 Shiro权限安全框架(简单使用)

shiro:认证和授权Apache Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证【登陆】、授权【权限】、加密【密码】、会话管理、与Web 集成、缓存等。shiro流程图subject:理解为用户 securityManager:安全管理(核心组件) Authenticator:认证器 Authorizer:授权器

2021-04-10 18:50:19 364

原创 springboot整合mybatis-plus(03)

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。1.mybatis-plus快速入门1.1导入相应jar包<!--mybatis-plus依赖--> <dependency> <groupId>com.baomidou</groupId>

2021-04-01 08:31:04 134

原创 springboot整合02

整合定时任务1.引入依赖`<!--定时任务的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>简单测试@Componentpubl

2021-03-30 22:42:34 110

原创 springboot快速入门

创建springboot的两种方式1.使用idea快速创建创建完成 工程目录如下2.基于maven的形式创建1.创建maven工程 在pom.xml中 引入父类工程,web依赖,测试依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo

2021-03-30 13:17:55 63

原创 springboot整合

整合数据源1.引入druid jar` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba&lt

2021-03-30 12:19:46 224 1

原创 srpingboot扫描包和自动装配的原理

1.扫描包springboot主启动类启动 开始解析类上@SpringBootApplication注解 除元注解外 有其它三个注解@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM

2021-03-30 11:04:56 139

原创 动态代理模式

动态代理步骤:1.先创建一个被代理对象的接口和实现类public interface ArithmeticCalculator { /** * 加法运算 * @param a * @param b * @return */ int add(int a ,int b); /** * 减法运算 * @param a * @param b * @return */ int sub

2021-03-26 08:58:42 39

原创 Spring Aop

Spring Aop动态代理AOP:面向切面编程,在不影响核心代码的前提下,可以在任意位置添加非核心代码使用spring的aop完成动态代理实现核心业务和非核心业务的一种抽取步骤:1.在pom.xml配置中引入依赖<dependencies> <!--spring-webmvc--> <dependency> <groupId>org.springframework</groupId&gt

2021-03-26 08:44:45 65

原创 SSM整合

SSM整合步骤:1.创建web的maven工程2.在 pom.xml 中添加如下依赖:<dependencies> <!--引入mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</versio

2021-03-24 21:48:08 70

原创 mybatis逆向工程

mybatis逆向工程1.在 pom.xml 中添加如下依赖:<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency>2.创建配置文件放在工

2021-03-24 21:22:21 56

原创 分页插件PageHelper的使用

分页插件pageHelper的使用步骤:1.在 pom.xml 中添加如下依赖:<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.11</version> </depend

2021-03-24 13:39:35 205

原创 Mybatis缓存

Mybatis缓存1.前篇文章讲过(Mybatis是支持普通sql查询,存储过程和高级映射的优秀持久层框架) Mybatis也支持一级缓存和二级缓存1.1 一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空。1.2 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其存储作用域为 M

2021-03-24 13:25:12 42

原创 mybatis 动态sql拼接

mybatis动态语句的元素及简单用法if 作用:做条件判断 (但条件判断)例:<select id="selByName" resultType="com.ganin.entity.Account"> select id,name,created,updated from account where 1=1 <if test="name !=null and name !=''"> and name like concat(

2021-03-24 13:01:33 431

原创 Mybatis优化

1.连接数据库的配置单独放在一个 properties 文件中(先创建一个配置文件 例:db.properties)<properties resource="db.properties"/><property name="driver" value="${jdbc.driverName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc

2021-03-22 12:14:14 95

原创 Mybatis介绍和快速入门、简单操作

MybatisMybatis是支持普通sql查询,存储过程和高级映射的优秀持久层框架;Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。Mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(普通的Java对象)映射成数据库中的记录,半自动化框架(sql语句是必须要写的呀)。Mybatis的快速入门首先我们用maven编写一个基于mybaits的测试例子<!--第一步:引入相关的依赖mysql的驱动和mybatis的jar--&g

2021-03-19 21:58:45 195 4

空空如也

空空如也

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

TA关注的人

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