- 博客(150)
- 资源 (6)
- 收藏
- 关注
转载 关于java版本、springboot版本、maven版本(以及其他可能使用到的工具)对应总结
省流:使用or idea2020自带的Spring Initializr(不推荐)/-》更改项目java版本-》更改项目maven版本。_java17对应的maven版本。关于java版本、springboot版本、maven版本(以及其他可能使用到的工具)对应总结_java17对应的maven版本-优快云博客。
2024-10-31 20:03:44
133
转载 替换JAVA_HOME后,版本还是显示之前的
解决办法:删除这个值,或者把这个值放到Java的值的后面去,系统再读变量的时候读到Java相关变量后就不在往后读了。场景:有新的项目用到jdk11,遂安装11版本的jdk,原来使用的是jdk8;安装使用之后,又需要使用JDK1.8,因此替换环境变量中的版本。原因:jdk高版本会自动配置Path变量。
2024-10-07 16:18:34
190
原创 05-服务保护和分布式事务
Sentinel是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中。官方网站:核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。为了方便监控微服务,我们先把Sentinel的控制台搭建出来。1)下载jar包。
2024-10-05 18:45:34
1087
原创 11-微服务面试篇
TCC模式的每个阶段是做什么的?Try:资源检查和预留Confirm:业务执行和提交Cancel:预留资源的释放TCC的优点是什么?一阶段完成直接提交事务,释放数据库资源,性能好相比AT模型,无需生成快照,无需使用全局锁,性能最强不依赖数据库事务,而是依赖补偿操作,可以用于非事务型数据库TCC的缺点是什么?有代码侵入,需要人为编写try、Confirm和Cancel接口,太麻烦软状态,事务是最终一致需要考虑Confirm和Cancel的失败情况,做好幂等处理、事务悬挂和空回滚处理。
2024-10-03 15:27:32
1314
原创 10-Redis面试篇
Sentinel的三个作用是什么?集群监控故障恢复状态通知Sentinel如何判断一个redis实例是否健康?每隔1秒发送一次ping命令,如果超过一定时间没有相向则认为是主观下线(sdown如果大多数sentinel都认为实例主观下线,则判定服务客观下线(odown故障转移步骤有哪些?首先要在sentinel中选出一个leader,由leader执行failover选定一个slave作为新的master,执行,切换到master模式然后让所有节点都执行slaveof新master。
2024-10-03 15:02:13
1684
原创 09-Elasticsearch02
query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件文档搜索的基本步骤是:创建对象准备,也就是DSL。来构建查询条件传入的query()方法发送请求,得到结果解析结果(参考JSON结果,从外到内,逐层解析)完整代码如下:@Test// 1.创建Request// 2.组织请求参数// 3.发送请求// 4.解析响应// 1.获取总条数System.out.println("共搜索到" + total + "条数据");
2024-10-03 14:47:35
1434
原创 08-Elasticsearch
分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名修改索引库,添加字段:PUT /索引库名/_mapping。
2024-10-03 14:37:57
1271
原创 07-MQ高级-抽取MQ工具的作业参考
MQ在企业开发中的常见应用我们就学习完毕了,除了收发消息以外,消息可靠性的处理、生产者确认、消费者确认、延迟消息等等编码还是相对比较复杂的。因此,我们需要将这些常用的操作封装为工具,方便在项目中使用。
2024-10-01 18:11:44
368
原创 07-MQ高级
每个只能配置一个,因此我们可以在配置类中统一设置。我们在publisher模块定义一个配置类:内容如下:@Slf4j@Overridelog.error("触发return callback,");});由于每个消息发送时的处理逻辑不一定相同,因此ConfirmCallback需要在每次发消息时定义。具体来说,是在调用RabbitTemplate中的convertAndSend方法时,多传递一个参数:id。
2024-10-01 18:08:49
1042
原创 06-MQ基础
Work模型的使用:多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列。
2024-10-01 17:58:10
1050
原创 04-微服务02
无论是还是都支持自定义,只不过编码方式、使用方式略有差别。自定义不是直接实现,而是实现。@Component@Override@Override// 获取请求// 编写过滤器逻辑System.out.println("过滤器执行了");// 放行注意:该类的名称一定要以为后缀!然后在yaml配置中这样使用:spring:cloud:gateway:- PrintAny # 此处直接以自定义的GatewayFilterFactory类名称前缀类声明过滤器。
2024-10-01 16:49:15
1068
原创 03-微服务01
什么时候需要拆分微服务?如果是创业型公司,最好先用单体架构快速迭代开发,验证市场运作模型,快速试错。当业务跑通以后,随着业务规模扩大、人员规模增加,再考虑拆分微服务。如果是大型企业,有充足的资源,可以在项目开始之初就搭建微服务架构。如何拆分?首先要做到高内聚、低耦合从拆分方式来说,有横向拆分和纵向拆分两种。纵向就是按照业务功能模块,横向则是拆分通用性业务,提高复用性服务拆分之后,不可避免的会出现跨微服务的业务,此时微服务之间就需要进行远程调用。微服务之间的远程调用被称为RPC,即远程过程调用。
2024-10-01 16:14:45
1474
原创 02-Docker02
要想让Docker帮我们安装和部署软件,肯定要保证你的机器上有Docker. 由于大家的操作系统各不相同,安装方式也不同。为了便于大家学习,我们统一在CentOS的虚拟机中安装Docker,统一学习环境。注意:使用MacBook的同学也请利用 VMwareFusion来安装虚拟机,并在虚拟机中学习Docker使用。安装方式参考文档:《安装Docker》首先,我们利用Docker来安装一个MySQL软件,大家可以对比一下之前传统的安装方式,看看哪个效率更高一些。如果是利用传统方式部署MySQL,大概的步骤有:
2024-10-01 15:05:11
1308
原创 01-MybatisPlus
也就是说我们在扣减用户余额时,需要对用户剩余余额做出判断,如果发现剩余余额为0,则应该将status修改为2,这就是说update语句的set部分是动态的。可以让我们的开发更加的简单,高效。
2024-10-01 14:17:52
1503
转载 尚硅谷-Spring5(二)
Spring框架对JDBC进行封装,使用jdbcTemplate方便对数据库操作(1)准备工作(引入相关jar包)(2)spring配置文件中配置数据库连接池-- 数据库连接池 --></bean>(3)配置JdbcTemplate对象,注入DataSource--JdbcTemplate对象-->--注入--></bean>(4)创建service类,创建dao类。在dao里注入jdbcTemplate配置文件--组件扫描-->service@Service//注入Dao。
2024-09-28 21:06:47
266
转载 尚硅谷-Spring5(一)
IOC:即:控制反转,将对象创建和对象之间的调用过程,交由Spring进行管理。使用IOC的目的是为了解耦,即:降低程序之间的耦合度,简单来说,就是降低A类和B类之间的耦合度。刚刚介绍的入门案例,就是利用了IOC容器技术实现。Bean管理,一般指的是两个操作,即:Spring创建对象和Spring注入属性。从对象创建到对象销毁的过程,称之为生命周期。根据指定装配规则,通过配置属性名或属性类型,Spring自动将匹配的属性值进行注入。3.5.9.2 演示自动装配过程。
2024-09-24 23:27:29
285
转载 06、原理解析
starter-pom引入 autoconfigurer 包autoconfigure包中配置使用中EnableAutoConfiguration 的值,使得项目启动加载指定的自动配置类编写自动配置类 xxxAutoConfiguration -> xxxxProperties@Bean......引入starter--- xxxAutoConfiguration --- 容器中放入组件 ---- 绑定xxxProperties ----配置项。
2024-09-21 10:50:02
97
转载 05、指标监控
未来每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。
2024-09-21 10:48:47
225
转载 04、单元测试
assumingThat 的参数是表示条件的布尔值和对应的 Executable 接口的实现对象。JUnit 5 可以通过 Java 中的内部类和@Nested 注解实现嵌套测试,从而可以更好的把相关的测试方法组织在一起。等注解,指定入参,我们将可以使用不同的参数进行多次单元测试,而不需要每新增一个参数就新增一个单元测试,省去了很多冗余代码。参数化测试是JUnit5很重要的一个新特性,它使得用不同的参数多次运行测试成为了可能,也为我们的单元测试带来许多便利。JUnit5的注解与JUnit4的注解有所变化。
2024-09-21 10:47:40
111
转载 03、数据访问
(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。mybatis plus 官网建议安装MybatisX插件。
2024-09-21 10:46:31
416
转载 02、Web开发
Faviconfavicon.ico 放在静态资源目录下即可。spring:# mvc:# static-path-pattern: /res/** 这个会导致 Favicon 功能失效可以自动类型转换与格式化,可以级联封装。/*** 姓名: * 年龄: * 生日:
2024-09-21 10:30:30
522
转载 01、配置文件
YAML 是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。非常适合用来做以数据为中心的配置文件。
2024-09-21 10:17:45
66
转载 Spring Boot 2 基础
如何使用Java读取到properties文件中的内容,并且把它封装到JavaBean中,以供随时使用;SpringBoot默认会在底层配好所有的组件。需求:浏览发送/hello请求,响应 Hello,Spring Boot 2。基于Java8的一些新特性,如:接口默认实现。条件装配:满足Conditional指定的条件,则进行组件注入。SpringBoot是简化Spring技术栈的快速开发脚手架。SpringBoot是整合Spring技术栈的一站式框架。把项目打成jar包,直接在目标服务器执行即可。
2024-09-21 10:08:03
1056
转载 【JDBC学习】
数据库连接池是个容器,负责分配、管理数据库连接 (Connection)它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一 个释放空闲时间超过最大空闲时间的数据库连接,避免因为没有释放数据库连接而引起的数据库连接遗漏数据库使用了数据库连接池后,就能达到Connection 对象的复用,如下图连接池是在一开始就创建好了一些连接(Connection )对象存储起来。用户需要连接数据库时,
2024-09-17 11:51:34
316
转载 【SpringMVC详解】
Spring MVC 是基于 Java 的 Web 框架,用于开发基于 Model-View-Controller(MVC)架构的 Web 应用程序。它提供了一种组织和管理 Web 应用程序的方式,将应用程序的逻辑分为模型(Model)、视图(View)和控制器(Controller),以提高代码的可维护性、可扩展性和可测试性。// 使用@RequestBody注解,可以将请求体中的数据反序列化成您指定的对象类型,适用于传输数据为一个自定义的对象(6)/**
2024-09-17 10:34:48
4208
转载 【Git学习笔记】
Git全套教程,完整的git项目管理工具教程黑马程序员Git全套教程,完整的git项目管理工具教程,一套精通git共计31条视频,包括:01_学习目标、02_版本控制器的方式、03_svn_git等,UP主更多精彩视频,请关注UP账号。
2024-09-17 09:16:08
203
转载 【MyBatis超详细介绍】
定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放在同一目录下。1. 新建Mapper接口2. 将该接口与SQL映射文件放在同一目录初始的项目结构如图:在resources文件夹中新建文件夹(没有包),输入:com/itheima/mapper(注意:不要写成com.itheima.mapper,资源文件夹中不识别句点)将userMapper.xml移入该文件夹中,如下图:(同时记得修改mybatis-config配置文件中的sql映射文件路径)
2024-09-17 08:34:25
213
转载 【面向切面编程AOP】
AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,也是一种编程思想,编程思想主要的内容就是指导程序员该如何编写程序。AOP的作用是:在不惊动原始设计的基础上为其进行功能增强。下面我们来看一个例子://记录程序当前执行执行(开始时间)//业务执行万次i
2024-09-16 23:56:42
349
转载 【Spring整合MyBatis、Junit】
Junit是一个搞单元测试用的工具,它不是我们程序的主体,也不会参加最终程序的运行,从作用上来说就和之前的东西不一样,它不是做功能的,看做是一个辅助工具就可以了。该配置类中有两个方法,共返回两个Bean对象,基本写法已约定俗成,我们使用MyBatisConfig配置类时,只需要修改代码中黄色背景内容即可。单元测试,如果测试的是配置文件,则使用@ContextConfiguration(locations={配置文件。这样,Spring整合MyBatis就算成功了!然后,我们将此类引入主配置类即可。
2024-09-16 23:26:49
159
转载 【Spring—注解开发】
Spring3.0开启了纯注解开发模式,使用Java类替代配置文件,开启了Spring快速开发赛道。即将配置文件applicationContext.xml删除掉,使用类来替换。BookDao 、 BookDaoImpl 、 BookService 、 BookServiceImpl 类如下:步骤1:在实现类上添加注解在Dao上添加注解在Service上添加注解步骤2:创建配置类创建一个配置类SpringConfig步骤3:标识该类为配置类在配置类上添加@Configuration注解步骤4:用注解
2024-09-16 23:18:38
253
转载 【IOC/DI核心概念、入门案例】
哪些 bean 对象适合交给容器进行管理(即单例)?表现层对象业务层对象数据层对象工具对象哪些 bean 对象不适合交给容器进行管理(即非单例)?封装实例的域对象,因为会引发线程安全问题,所以不适合。
2024-09-16 22:29:12
120
原创 【Springboot单元测试(速通)】
在实际开发中,如果只是做一个简单的单元测试(不涉及端到端、数据库交互、API调用、消息队列处理等),我为了方便一般都是找块儿地方写一个main方法来跑一下就行了,当然不推荐这样做,怕被领导发现。所以还是建议在 /src/test/xxx/ 目录下写一个测试类来做测试。
2024-09-16 14:03:59
871
转载 【SSM详细介绍】
本篇主要讲述了SSM的概念以及个人理解SSM全称Spring+SpringMVC+MyBatis,是spring、spring MVC 、和mybatis框架的整合一种组合框架,为标准的MVC模式,是目前比较主流的Java EE企业级框架。SSM框架结合了Spring的依赖注入和面向切面编程特性、SpringMVC的MVC模式和MyBatis的ORM(对象关系映射)功能,可以实现快速开发、灵活配置、降低代码耦合度和提高开发效率的目的。
2024-09-16 12:07:29
4761
转载 IDEA 插件集合
分享一点自己工作中得心应手的IDEA插件,可不是在插件商店随随便便搜的,都经过实战检验,用过的都说好。慢慢的干货哦,但是有一些插件各位大佬已经在使用了,就可以快速划过。以下介绍的所有插件均可在IDEA插件官网进行搜索下载。
2024-08-26 14:15:44
447
1
思科CCNA中文教程
2018-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人