- 博客(45)
- 收藏
- 关注
原创 使用@Autowired批量注入某一个接口下边的所有实现类方法(并且进行工厂封装Factory)
首先要知道@AutoWired的作用Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。通过 @Autowired的使用来消除 set ,get方法。从所属范围来看,Autowired 属于spring的容器配置的一个注解,与它同属容器配置的注解还有:@Required,@Primary, @Qualifier等等。因此@Autowired注解是一个用于容器(container)配置的注解。
2023-03-16 17:52:45 1605 1
原创 java使用微信支付API完成支付功能
java使用微信支付API完成支付功能目录文章目录java使用微信支付API完成支付功能目录微信支付官方介绍Native支付介绍1.Api文档查看2.下单功能实现1.接口链接2.请求参数和返回参数Native的下单和查询支付引入依赖涉及的工具类下单功能1.创建一个实体类封装数据2.创建controller方法3.对应的service查看订单状态微信支付官方介绍https://pay.weixin.qq.com/wiki/doc/api/index.html提示:在这边选择想要使用的支付方式点击
2021-06-07 18:48:49 2205 4
原创 微服务之 配置中心
文章目录springcloud微服务的配置中心为什么使用配置中心nacos作为配置中心。1.nacos配置中心的客户端使用。---微服务。2.新增配置3.在springboot项目中引用1.添加依赖2.在微服务中使用配置中心的配置文件。apollo配置中心。1.apollo配置中心简介2.使用apollo配置中心1.环境准备 jdk1.8以上 mysql必须5.6以上2.下载apollo服务端软件。3.解压 创建两个数据库4.把相应的sql语句导入到不同的数据库中5.修改demo.sh中连接数据库的信息6.
2021-05-28 21:51:54 764 1
原创 使用nacos、openfegin、gateway、链路追踪管理微服务
文章目录前言nacos+openfegin注册调用微服务Nacos (服务治理 配置中心)简介nacos实战搭建nacos环境微服务注册到nacos1.添加依赖2.在application.properties配置文件中添加配置openfegin实战(基于OpenFeign实现服务调用)OpenFeign简介Feign的使用1.添加依赖2.在主启动类上加入开启feign的注解3.创建fegin接口4.修改controller的代码测试gateway网关网关简介Gateway简介Gateway快速入门1.创
2021-05-27 21:46:15 3889 4
原创 微服务搭建 springboot-cloud-alibaba
文章目录案例准备工作技术选型模块设计数据库搭建微服务调用创建微服务和服务调用1.创建项目①创建父工程②创建shop-common(定义公共的实体类等)③创建shop-product(服务供给端)工程④创建shop-order(服务消费者)工程案例准备工作我们本次是使用的电商项目中的商品、订单为案例进行讲解。技术选型maven : 3.5.0数据库:Mysql5.6以上持久层:Mybatis-plus(MyBatis)其他:SpringCloud Alibaba模块设计springcloud
2021-05-27 13:46:31 886 2
原创 spring-cloud微服务介绍
文章目录spring-cloud微服务架构微服务架构的优劣分析微服务架构介绍微服务的常见问题微服务各组件介绍服务治理服务调用服务网关服务容错链路追踪SpringCloud Alibaba介绍主要功能主要组件spring-cloud微服务架构微服务架构在某种程度上是面向服务的架构SOA继续发展的下一步,它更加强调服务的"彻底拆分"---->必须要springboot(独立的系统)微服务架构的优劣分析优点:服务原子化拆分,独立打包、部署和升级,保证每个微服务清晰的任务划分,利于扩展微服务之
2021-05-26 08:58:53 414
原创 Mysql行锁、表锁问题
文章目录一、Mysql锁问题1.锁概述2.锁分类3. Mysql 锁一、Mysql锁问题1.锁概述锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。2.锁分类从对数据操作的粒度分 :1) 表锁:操作时,会锁定整个表。2) 行锁:操作时,会锁定当前操作行。从对数据
2021-05-21 19:10:18 341
原创 mysql应用层优化、并发参数调整
文章目录一、mysql应用层优化1.使用连接池-----Druid C3p02.减少对MySQL的访问①避免对数据进行重复检索②增加cache层(缓存)3.负载均衡①利用MySQL复制分流查询--- 查询的频率比较高。②采用分布式数据库架构③总结:应用层提高数据库的并发二、Mysql并发参数调整1.max_connections --- 适当的调整连接的数量。 my.cnf2.back_log 设置等待线程的个数。3.thread_cache_size : 设置mysql连接池中连接的个数。4.inno
2021-05-21 18:49:35 188
原创 sql语句的分析(explain)与优化
文章目录前言一、Sql语句优化步骤1.定位慢的sql语句2.explain分析执行计划(1)explain之id<重点>(2)explain之select_type<重要>(3)explain之type<重点>(4)explain之possible_keys 和 key 、key_len(5)explain 之 rows(6)explain 之 extra3.优化sql语句(1)优化inset语句(2)优化order by语句环境准备:两种排序方式Filesort 的优化
2021-05-21 11:00:42 1375
原创 Mysql中索引失效得原因和解决
文章目录前言1.单个字段测试varchar字段测试name字段name and status 测试name and status and address 测试2.最左前缀法则复合索引测试:打乱顺序测试:跳字段测试(测试以name和address字段,跳过status字段)舍弃name (复合索引的第一列测试)总结3.范围查询测试 范围查询status字段总结 :4.运算操作测试 对 name 字段进行截取1 截取name字段测试对 status字段进行截取总结5.覆盖索引6.or分割or分割失效问题总结or
2021-05-20 21:24:57 2255 1
原创 Mysql的存储引擎
Mysql的存储引擎文章目录Mysql的存储引擎存储引擎概述各种存储引擎的特性InnoDb存储引擎MyISAM存储引擎存储引擎的选择存储引擎概述–和大多数的数据库不同,Mysql中有一个存储引擎的概念,针对不同的存储需求可以选择不同的存储引擎。_存储引擎就是存储数据,建立索引,更新查询数等等技术的实现方式.存储引擎是基于表的,而不是基于库的。所有存储引擎也被称为表类型。—Oracle,SqlServer等数据库只有一种存储引擎。Mysql提供了类似插件式的存储引擎架构。所有MqSql存在多种存储
2021-05-19 21:10:07 172
原创 Mysql的高级特性之索引、B-TREE、B+TREE
mysql高级特性:索引1.索引的定义:mysql官方对索引的定义为:索引(index)是帮助Mysql高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种放肆引用(指向数据),这样就可以在这些数据结构上实现高级的查找算法,这种数据结构就是索引。如下的示意图所示左边是数据表,一共有两列七条数据,最左边的是数据记录的物理地址 如“0x07”就是物理地址。(逻辑上相邻的两条数据在磁盘上不一定就是相邻的)。为了加快Col2列的查找,可以维护一个
2021-05-18 20:17:13 225
原创 面向切面工程AOP
学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇
2021-05-17 19:15:00 91
原创 对于搭建nginx后前后端分离的用户信息存储问题
对于搭建nginx后前后端分离的用户信息存储问题我们后端使用springboot技术、shiro、reids非关系型数据库、mysql关系型数据库和mybatis-plus public CommonResult findByNameAndPassword(LoginVo loginVo) { QueryWrapper<User> wrapper=new QueryWrapper<>(); wrapper.eq("username",login
2021-05-10 19:35:44 553
原创 elementUI的表单验证使用
elementUI的表单验证使用<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="活动名称" prop="name"> <el-input v-model="ruleForm.name"></el-input> </el-form-item>
2021-05-10 19:10:42 149
原创 node.js 和npm(vue的脚手架创建)
文章目录一、安装node.js和npm二、安装vue的脚手架三、使用图形化界面来创建vue工程使用webStorm打开一、安装node.js和npm//node.js官网下载https://nodejs.org/en/node.js里面会自动携带npmnode.js 前端的服务器 理解为web中的tomcatnpm 下载依赖的比如elementui axios 理解为maven仓库必须安装在英文目录下2.检验是否安装成功cmd窗口输入命令node -v 检查node的版本
2021-04-29 11:18:46 166
原创 红黑二叉树的左旋右旋和变色
小白解析红黑树的基本什么是红黑树变色右旋什么是右旋呢?左旋什么情况下会左旋什么是红黑树这就是一个简单的红黑二叉树红黑二叉树有以下几条基本的规则:1. 节点分为红色或者黑色。2.根节点必为黑色。3.叶子节点都为黑色,且为 null。4.连接红色节点的两个子节点都为黑色(红黑树不会出现相邻的红色节点)。5. 从任意节点出发,到其每个叶子节点的路径中包含相同数量的黑色节点。6. 新加入到红黑树的节点为红色节点。变色为什么需要变色:首先我们知道,当新加入节点后,其节点为红色,我们就一上
2021-04-28 10:33:56 431 1
原创 jdk1.8新特性Stream流
Stream 流Stream 是Java8中处理集合的关键抽象概念==,它可以对集合进行非常复杂的查找、过滤、筛选等操作,在新版的JPA【连接数据库】中,也已经加入了Stream。Stream的操作步骤Stream有如下三个操作步骤:一、创建Stream:从一个数据源,如集合、数组中获取流。二、中间操作:一个操作的中间链,对数据源的数据进行操作。三、终止操作:一个终止操作,执行中间操作链,并产生结果。要注意的是,对流的操作完成后需要进行关闭操作(或者用JAVA7的try-with-reso
2021-04-27 18:17:22 295
原创 redis分布式锁。
redis分布式锁使用分布式锁的原因普通锁场景:@Servicepublic class StockService02 { @Resource private StockDao stockDao;//查询对应的id的库存方法 public String decrStock(Integer productId) {//synchronized () 同步方法 同步代码块 //查询对应的id的库存 synchronized (this
2021-04-26 09:37:58 69
原创 redis的哨兵模式集群搭建和去中心化集群搭建
redis集群搭建:主从关系主节点负责写,并把写的内容同步到从节点上。 从节点只能负责读操作。不能写操作。准备工作这边我使用一台虚拟机进行搭建1.在reids文件下创建一个目录 mkdir master-slave2.把reids配置文件复制到 master-slave中redis7001.conf redis7002.conf redis7003.conf3.分别修改上面三个配件的端口以及rdb持久化文件的名称,并且aof关闭4.启动reids时指定上面的三个配置文件
2021-04-26 09:12:16 196
原创 redis非关系数据库安装于简单使用
文章目录NOSQL的概念NOSQL和RDBMS的区别redisredis简介redis的优点安装redis下载并且解压开启redis服务使用redis客户端连接redis服务器redis配置文件简单看看redis图形化界面的客户端NOSQL的概念NOSQL(Not only sql):不仅是sql语句, 它是对所有非关系型数据库的一种统称。 除去关系型数据库之外的都是非关系数据库。NOSQL和RDBMS的区别RDBMS- 高度组织化结构化数据。 user—userid username age s
2021-04-25 17:53:22 57
原创 Lambda表达式和函数式接口
函数式接口定义:如果一个接口只有一个抽象方法,则这个接口就是函数式接口,函数式接口可以使用Lambda表达式,Lambda表达式会被匹配到这个抽象方法上@FunctionnalInterface注可以用来检测接口是否符合函数式接口常见的函数式接口Consumer消费性接口消费型,有参无返回值void accept(T t):对类型为T的对象应用操作public class ConsumerInterface { public static void main(String
2021-04-23 20:03:56 206
原创 HAProxy负载均衡和RabbitMQ镜像集群配置
文章目录rabbitMQ集群开启服务设置主从关系RabbitMQ镜像集群配置可视化web设置linux内设置HaProxy负载均衡RabbitMQ安装HaProxy的配置使用HaproxyrabbitMQ集群防止rabbitMQ的宕机而使中间件失效,搭建集群(这边我就使用一个虚拟机搭建集群,用多个电脑搭建步骤一样)开启服务先停止rabbitMQ服务service rabbitmq-server stop开启第一个节点RABBITMQ_NODE_PORT:rabbitmq的端口号RA
2021-04-23 12:31:00 318
原创 rabbitmq死信队列、延迟队列、幂等性保障
文章目录死信队列什么是死信消息成为死信的三种情况使用死信在idea中使用配置文件创建在可视化web创建延迟队列消息幂等性保障实现步骤死信队列什么是死信死信队列,英文缩写DLX。Dead Letter Exchange(死信交换机),当消息成为Dead message(死信信息)后,可以被重新发送到另一个交换机上,这就是DLX消息成为死信的三种情况队列消息长度到达限制;消费者拒接消费消息,basicNack/basicReject,并且不把消息重新放入原目标队列,requeue=false;
2021-04-22 21:27:37 360
原创 rabbitMQ可视化的使用(中文注解)
文章目录rabbit MQ可视化的简单使用配置rabbitMQ的文件并且启动通过浏览器登录用户操作交换机操作交换机绑定队列队列rabbit MQ可视化的简单使用配置rabbitMQ的文件并且启动去这看:https://blog.csdn.net/weixin_56320090/article/details/115872425通过浏览器登录启动之后,访问15672端口,可看到Web管理页面主页面:用户操作添加用户默认会提供一个默认用户guest,密码也是guest,线上环境需要创建一个新
2021-04-21 20:20:11 5614
原创 raabbitMQ的消息可靠性(设置rabbitMQ保证消息不丢失或者投递失败)和消费队列信息时的安全性问题(Consumer ACK)和消费端限流的使用
raabbitmq的消息可靠性消息可靠性投递(针对生产者)idea中的使用依赖(生产者)yml文件配置java代码编写消费队列信息时的安全性问题(针对消费者)为何使用idea使用(生产者)配置文件监听类代码消费端限流消息可靠性投递(针对生产者)在使用 RabbitMQ的时候,作为消息发送方希望杜绝任何信息在任何地方丢失或者投递失败的情况。RabbitMQ为我们提供了两种方式用来控制消息的投递可靠性模式消息投递步骤:生产者(channel)---->交换机------>队列中。idea中的
2021-04-21 19:20:55 258
原创 rabbitmq的七种常用模式连接idea使用
文章目录rabbitmq的五种常用模式(1)简单模式创建ideadmarabbitmq的五种常用模式官方网址https://www.rabbitmq.com/getstarted.html(1)简单模式从图上可以看到只有三个角色: p 【product】: 生产者 发生消息的 红色[queue]: 队列。 存储消息的 C [consumer]: 消费者 消费消息创建ideadma...
2021-04-20 20:24:52 1515
原创 spring整合redis和开启redis缓存
这里写自定义目录标题NOSQLNOSQL和RDBMS的区别RDBMS(关系型数据库)NoSQL(非关系型数据库)常见的NOSQL数据库类型redis什么是redis为什么使用redis(整合项目中redis更多的是用于缓存数据)安装redis下载redis传输到linux中安装步骤测试开启redis使用redis客户端连接redis服务器redis.conf的配置文件redis图形化界面的客户端Java springboot连接redis.---jedis配置编写java代码主要作用到server层redi
2021-04-15 20:53:58 309
原创 springBoot整合druid、mybatis、mysql、swagger2
文章目录创建项目配置依赖一、配置application.properties?二、使用步骤1.引入库2.读入数据总结创建项目1.2.配置依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio
2021-03-29 21:57:18 146 2
原创 mybatis的分页pageHelper
目录什么是pageHelperMyBatis分页插件-PageHelper的配置与应用在Mybatis的配置文件 Mybatis-Config.xml中配置PageHelper插件一、pageHelper使用?二、pageInfo的方法什么是pageHelperpageHelper会使用ThreadLocal获取到同一线程中的变量信息,各个线程之间的Threadlocal不会相互干扰,也就是Thread1中的ThreadLocal1之后获取到Tread1中的变量的信息,不会获取到Thread2中的信
2021-03-26 16:25:32 128 2
原创 SSM,Mybatis和spring的整合
1.关键jar包:1.spring核心包spring-webmvcspring-jdbc(idea不加这个连接包容易出错)2.结果响应前台时自动转为json数组jar包jackson-corejackson-annotationsjackson-databind3.加入mybatis依赖mybatis4.spring和mybatis整合依赖mybatis-spring5.mysql驱动mysql-connector-java6.数据库连接池druid7.mybatis逆向工程
2021-03-26 09:16:41 163 1
原创 idea关联maven的使用
maven简介:Maven项目对象模型(POM)是一个项目管理工具软件,可以通过简短的信息描述来管理项目的构造,报告和文档。除了具有构建程序的功能外,Maven还提供了高级项目管理工具。由于Maven的默认构建规则具有很高的可重用性,因此通常可以使用两到三行Maven构建脚本来构建简单的项目。由于Maven的面向项目的方法,许多ApacheJakarta项目在发布时都使用Maven,并且采用Maven的公司项目所占的比例持续增长。MavenMaven这个词来自意第绪语(犹太语),意思是知识的积累,最
2021-03-25 18:55:08 1903 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人