0

Spring @Autowired注解提示警告

Field injection is not recommended 警告的主要原因是:使用变量的依赖注入不被推荐。 @Autowired private REListingRepository reListingRepository; 可能很多人都会使用上面代码来进行依赖注入,因为上面的代码最简单,也是可以用的,但有时候你会遇到 IJ 的提示。原因和处理这个代码与 Spring 的 Autowired 3 种类注入依赖有关。变量注入上面的写法就是变量注入,这是我们遇到警告提示的地方。Set 方法注入为了避免上面的警告,我们可以使用 Set 方法来进行注入。使用 Set 方法的代...

阅读全文>>

0

Spring—AOP原理

概述Aspect Oriented Programming,面向切面编程,通过定义相关的切面,我们可以在程序的纵向执行过程中对方法进行拦截,织入我们自定义的逻辑,极大的解耦了我们的业务代码和功能代码在SpringAOP中,在执行目标方法之前,先将满足拦截要求的所有的增强器(内含对应的通知)获取到,然后生成一个拦截器链(会对不同类型的增强器进行排序),再通过这个拦截器链执行相关的逻辑,拦截器链的执行顺序如下图(图中包含了五种类型的通知Around、Before、After、AfterReturning、AfterThrowing,排序正是按这个顺序排序的):切面中的增强器(通知)执行顺序准备条件...

阅读全文>>

0

Spring Boot API 的urlencoded提交

在使用 Sprint Boot 提交 x-www-form-urlencoded 的时候,我们首先需要知道 x-www-form-urlencoded 这个是什么东西。application/x-www-form-urlencoded这应该是最常见的 POST 提交数据的方式了。浏览器的原生 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。就是浏览器将会将表单中的内容转换为 URL 的方式提交到后台进行处理。转换的方式其实就是使用 K=V 对的方式。不同的 K=V 之间是用 & 进行分隔。例如下面...

阅读全文>>

0

秒杀mybatis的sqltoy-orm-4.17.15发版

开源地址:github: https://github.com/sagframe/sagacity-sqltoygitee: https://gitee.com/sagacity/sagacity-sqltoyidea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins更新内容:1、在原有快速分页、分页优化的基础上进一步支持并行查询,大幅提升性能2、缓存在默认ehcache的基础上增加caffeine的支持为什么说sqltoy可以秒杀mybatis?在其它一切对等的前提下,sql的写法决定了mybatis就是玷...

阅读全文>>

0

Xpath定位方法

相对路径定位(F12直接用工具copy xpath)//*[@id="datagrid-row-r1-2-0"]/td[1]/div/input根据文本信息定位全部文本信息匹配如上HTML 标签为a文本信息未"更新"//a[text()="更新"]部分文本信息包含匹配如上HTML文本信息//a[contains(text(),"更")] 或者 //a[contains(text(),"新")]元素属性定位根据单个属性定位如上HTML的tag是input 我们可以用这个元素的name或者id或者其他特有的属性来定位//input[@name="wd"]根据元素的多个属性定位如上HTML元素的属性...

阅读全文>>

0

ConcurrentHashMap确实很复杂,这样学源码才简单

之前在写HashMap的底层实现原理和设计背景的时候(看我主页置顶文章),有读者朋友反馈想看ConcurrentHashMap方面的文章,今天为大家带来这篇文章。ConcurrentHashMap相对HashMap来说要复杂的多,HashMap涉及到的知识点相对较少,无非就是数组、链表、红黑树、哈希碰撞、扩容这些东西,但是ConcurrentHashMap涉及到的知识点却比这些要多,因为一旦涉及到多线程环境下的并发安全,并发、同步、锁这些概念就得了解。而在实际coding中,HashMap使用频率很高,ConcurrentHashMap却很低甚至没有,这就增加了我们学习的门槛。1、学习思路学习...

阅读全文>>

0

Spring Boot 2.4 丢弃 Enable 资源注解

在升级 Spring Boot 从 2.3.3 到 2.4 的时候提示:@EnableResourceServer将会被丢弃。@EnableResourceServer 开启资源服务配置,会配置资源服务相关的安全配置。一个资源服务(可以和授权服务在同一个应用中,当然也可以分离开成为两个不同的应用程序)提供一些受token令牌保护的资源,Spring OAuth提供者是通过Spring Security authentication filter 即验证过滤器来实现的保护,你可以通过 @EnableResourceServer 注解到一个 @Configuration 配置类上,并且必须使用 R...

阅读全文>>

0

ClickHouse留存分析工具十亿数据秒级查询方案

作者:陈璐,腾讯 CSIG 高级数据分析师本文实践了对于千万级别的用户,操作总数达万级别,每日几十亿操作流水的留存分析工具秒级别查询的数据构建方案。同时,除了留存分析,对于用户群分析,事件分析等也可以尝试用此方案来解决。背景你可能听说过Growingio、神策等数据分析平台,本文主要介绍实现留存分析工具相关的内容。留存分析是一种用来分析用户参与情况/活跃程度的分析模型,可考查进行初始行为后的用户中,有多少人会进行后续行为,这是衡量产品对用户价值高低的重要指标。如,为评估产品更新效果或渠道推广效果,我们常常需要对同期进入产品或同期使用了产品某个功能的用户的后续行为表现进行评估 [1]。大部分数据...

阅读全文>>

1

跟着我吃透spring核心源码

前言springmvc,springboot,springcloud以及他们很多配套框架,比如各种stater,springsecurity等所有的基础是spring,作为spring家族的源码分析最基础的部分,这篇文章把spring给大家尽量用最简单的方法,把主要流程讲清楚。为后续的springboot,springcloud,以及其他相关框架分析打下基础。spring框架简单的例子引入依赖:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-co...

阅读全文>>

0

Kafka 原理以及分区分配策略剖析

一、简介Apache Kafka 是一个分布式的流处理平台(分布式的基于发布/订阅模式的消息队列【Message Queue】)。流处理平台有以下3个特性:可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。可以储存流式的记录,并且有较好的容错性。可以在流式记录产生时就进行处理。1.1 消息队列的两种模式1.1.1 点对点模式生产者将消息发送到queue中,然后消费者从queue中取出并且消费消息。消息被消费以后,queue中不再存储,所以消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只能被一个消费者消费。1.1.2 发布/订阅模式生产...

阅读全文>>