自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (2)
  • 收藏
  • 关注

原创 springboot

springboot开发真的非常简洁, 对比以前开发配置一大推配置文件,但是我们要知道springboot是怎么样做到自动装配的,是怎么把我们需要配置到配置文件的bean直接帮我们自动注入进去的。

2023-11-16 17:59:21 179

原创 maven 上传本地jar包到nexus

deploy我们的jar包,应该使用hosted类型的nexus仓库。所以其实网上很多说的url不对其实也能说的过去,因为确实是maven的地址不对,要改为hosted类型的地址,我觉得也能说的过去。解决 : 我们只要把maven仓库的地址改为hosted类型的仓库地址就解决问题了。就是这个jar所在的位置, copy过去即可。就跟我们pom的dependency的配置保持一致即可。

2023-11-07 17:52:44 708

原创 java -jar 参数传递

前景: 我看spring boot启动时,当指定某个profile的时候,是直接使用 --spring.profiles.active但是我之前传递参数是使用的是-Dpath=D:\\ 这样写的,所以我就好奇两种传递参数的区别。

2023-06-12 13:35:01 2749

原创 Mybaits Oracle CLob类型处理

注意:ConfigurationCustomizer 是mybatis-auto configure.jar包的类。问题 : 当使用mybatis查询返回map类型时, 该字段的值为clob对象,而不是数据库里面的字符串。至于mybatis的TypeHandlerMap后续我会继续讲解源码的。使用的是Oracle 数据库, 表中有一个字段类型为clob类型。

2023-05-30 16:17:12 2681

原创 springboot内嵌tomcat文件上传路径不存在问题原因

所以当文件超过10k的时候就会使用临时文件了,这也就是为啥临时目录被删除之后,我们上面会出现小文件可以成功上传,大文件上传报错的原因。猜测可能是小文件没有使用临时文件,大文件上传的时候才使用了临时文件,但是这个边界值是在那里控制的呢?临时文件目录被删除,导致文件上传报错,我们使用的是linux系统,10天没有使用,就会被删除。这不是tomcat的问题, 而是我们去解析请求中的文件的时候出现的问题;当我上传小文件的时候可以上传成功,大文件的时候上传失败。默认阈值,超过该阈值上传内容将存储在磁盘上。

2023-05-06 17:10:05 859 1

原创 Java8 stream 返回有序的map集合

我是用stream遍历数据的时候,最后需要返回有序的Map集合 即:LinkedHashMap,但是我看到Collectors里面并没有返回LinkedHashMap的方法。

2023-02-14 16:54:47 2551

原创 springboot 使用tomcat详解

这里要明白,不然你后面不知道是怎么调用到这里来的TomcatStarter 注意 该类实现 ServletContainerInitializer ,这个是servlet-api的接口,tomcat启动会调用该实现类的。

2023-01-10 17:12:50 3139

原创 springmvc 文件上传请求转换为MultipartFile的过程

从流转换为MutipartFile的过程,不然你就知道在方法中使用,而不知道是怎么样处理的,是不行的。

2023-01-06 16:29:14 1159

原创 InheritableThreadLocal

补充:关于ThreadLocal,请看这篇文章引言:最近在看shiro的源码发现了里面使用了InheritableThreadLocal。

2022-11-16 17:46:28 433

原创 Idea操作git undo commit

问题:这是我的疑问:Idea操作git undo commit 撤销本地提交,实际执行的git reset操作吗?疑问,undo commit 实际是执行的git的什么命令呢?下面是验证的操作:操作:还未push到远程仓库的提交操作,进行撤回代码提交演示:修改操作代码提交 : 注意并未push提交操作撤销演示:idea -> 执行...

2022-05-20 17:13:22 3635

原创 idea git commit之后,想撤销commit,实操

关于 -- 有人提出的这个疑问 "我想大部分人都是想回退到commit之前代码还在修改状态的状态,按照文章的顺序读下来直接就照着操作会丢失代码,博主还是改一下内容顺序吧,太有歧义了。"idea git commit之后,想撤销commit_小星向上的博客-CSDN博客_ideagit撤销已经提交的commit我按照我的文章的顺序记录一次撤销commit 操作: 1.这里修改README.md的内容,并提交2.撤销刚刚的提交 已经撤销提交...

2022-05-09 09:52:20 20022 6

转载 细说 里氏替换原则

转载:细说 LSP(里氏替换原则) | chengco的博客前言曾经在一次给新入职员工做Java开发的课程培训,讲到面向对象的SOLID设计原则时,大家普遍认为"里氏替换原则"是其中最难理解的一个。也许从头说起才能弄清来龙去脉。为什么叫里氏替换原则?里氏替换原则在SOLID这五个设计原则中是比较特殊的存在:如果违反了里氏替换原则,不只是降低软件设计的优雅性,很可能会导致Bug 只有里氏替换原则是以人名命令的里氏替换原则译自Liskov substitution principle

2022-05-06 10:55:21 273

原创 Git 合并时 --no-ff 的作用

场景:我最近在进行代码合并的时候,使用的是 : git merge --no-ff 分支名称分析git merge默认使用的时“快进”(fast-forward)模式合并,所以 git merge <=> git merge -fffast-forwardGit 合并两个分支时,如果顺着一个分支走下去可以到达另一个分支的话,那么 Git 在合并两者时,只会简单地把指针右移,叫做“快进”(fast-forward)...

2022-04-25 17:58:15 8048

原创 java 注解

声明注解@Retention(RetentionPolicy.CLASS)@Target(ElementType.TYPE)public @interface TableName { /** * 对应的名称 * @return */ String value() default "";}@Target : 指定注解的作用范围 @Target(ElementType.TYPE) - 注解作用于类/接口 :只能在类或者接...

2022-04-11 18:13:12 563

原创 JQuery 遍历数组 或者JSON

目录for in 遍历数组遍历代码:输出结果:JSON遍历代码:输出结果:$.each()遍历数组遍历代码:输出结果:JSON遍历代码:输出结果:附上全部代码:for in 遍历数组遍历代码: //定义一个数组 var arrys = ['张三','李四','王二麻子']; //遍历 for(let index in arrys){ console.log(index); //下标值

2022-04-07 17:12:57 3255

原创 项目中单独指定maven远程仓库

如果我们要在项目中单独指定远程仓库得地址的话1.pom.xml添加配置repositories节点<repositories> <repository> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> <releases>

2022-03-23 10:03:28 5346

原创 http协议的Request Payload 和 Form Data 的区别

问题描述:今天在写单元测试的时候,发现controller 方法中一直接收不到我的参数信息1.post 方法 2.方法体没有用@RequestBody 接受参数controller里面的方法 @ResponseBody @PostMapping("list") public JsonResult login(WearUserInfo wear){ System.out.println(wear); JsonResult login =

2022-03-01 16:23:50 2619

转载 多线程的指令重排问题:as-if-serial语义,happens-before语义;volatile关键字,volatile和synchronized的区别

一、指令重排的问题你写的代码有可能,根本没有按照你期望的顺序执行,因为编译器和 CPU 会尝试指令重排来让代码运行更高效,这就是指令重排。1|11.1 虚拟机层面我们都知道CPU执行指令的时候,访问内存的速度远慢于 CPU 速度。为了尽可能减少内存操作带来的 CPU 空置的影响,虚拟机会按照自己的一些规则将程序编写顺序打乱:即写在后面的代码在时间顺序上可能会先执行,而写在前面的代码会后执行。当然这样的前提是不会产生错误。不管谁先开始,总之后面的代码在一些情况下存在先结束的可能。1

2022-01-27 17:36:56 222

原创 git lab操作

1.进行merge的时候 提示:test002 not something we can merge原因:test002 没有建立远程关系git branch -a 查看分支情况, 本地仓库确实没有test002拉取分支test002: git checkout origin/test002再次执行 :...

2022-01-13 18:02:43 1225

转载 ​ajax请求的data数据格式​

ajax提交data类型一、问题来源今天使用ajax时,发现get传data时,传递json字符串时传不过去参数,所以做了一些实验测试ajax的get和post的传递data时的不同。二、概念ajax有三种传递传递data的方式:json格式 json字符串格式 标准参数模式1.json格式形如:{“username”:”chen”,”nickname”:”alien”}ajax:$.ajax({ type:"post", url:"/test/s.

2021-12-24 15:45:31 1029 18

原创 java ++前置后置字节码区别

我们都知道: b++ : ++后置的话,先使用,在计算 --c: ++前置 的话.先计算,在使用那本质原因是啥呢,今天就来分析一下: 0 iconst_0 --把int类型的 0 压入操作数栈, 即b 1 istore_1 -- 弹出栈顶元素 0 ,存入位置为1的局部变量中 2 iconst_0 --把int类型的 0 压入操作数栈, 即c 3 istore_2 -- 弹出栈顶元...

2021-12-24 14:00:56 545 1

原创 spring 事务的实现

事务的实现需要的配置 1.需要事务管理器2.事务aop相关配置1.需要事务管理器 我这里就是针对于mybaits来讲解的哈,因为事务管理器还有jpa的,hibernate的思考??? 如果spring要管理事务的话,那肯定连接 就要spring来创建,mybaits获取连接的话,就要获取spring创建的这个连接,才能够控制事务 1.创建连接 2.把连接的自动提...

2021-12-22 17:21:26 456

原创 spring 事务的实现

事务的实现需要的配置1.需要事务管理器2.事务aop相关配置2.事务aop相关配置需要通知器 ( 切入点 + 通知) spring aop必备的事务切入点PointCut: 匹配操作,主要是判断方法是否加上了事务@Transactional注解等一些判断事务通知Advice: 执行代理对象的方法的时候执行的事务相关的通知操作事务通知器Advisor: 事务切入点和事务通知的绑定通知器advisor 的作用 :...

2021-12-20 17:57:37 478

原创 spring boot 动态代理

springboot团队之所以默认的代理模式设置成cglib代理,看看spring的官方团队是怎么解释的This was changed in 1.4 (see https://github.com/spring-projects/spring-boot/issues/5423). We’ve generally found cglib proxies less likely to cause unexpected cast exceptions.他们认为使用cglib更不容易出现转换错误整体逻

2021-12-06 15:20:28 6837

原创 动态代理原理分析

最近在研究mybaits的源码,mapper是接口,就是用的动态代理返回的代理对象;必须记录一下,今天终于整明白动态代理了,也希望看到这篇文章的小伙伴们能够明白接口是不能实例化的如果我们要实例化的话 必须实现该接口,有个实现类才得行!!1.使用匿名类的方式public class TestProxy1 { interface UserMapper{ void getUser(); } public static void main(String[

2021-11-24 15:24:03 226

原创 SpringBoot自动装配原理

优点: 简直不要太好用了,pom.xml里面引入相应的starter之后 , main方法里面启动,就可以直接运行一个项目,对比我们之前简直不要方便太多,以前都是要配置各种xml文件 ,里面要配置很多东西,springboot简化了很多配置;不得不佩服!!!!!那springboot是如何进行自动装配的呢??下面我们来讲解具体流程进入正题: 后置处理器执行的时候会去扫描@Import类, 此时@EnableAutoConfig注解里面就有一个@Import的类,...

2021-11-18 18:03:14 2186

原创 记录一下关于看spring源码遇到的问题:ServletContextInitializer

疑问点: 明明需要传入的是对象,但是getSelftInitialzer()方法里面又引用了 其他方法??传入的是:this.getSelfInitializer() 这个方法,这个方法点进去之后又是this::selfInitialize;后续打断点的时候执行onStartup()方法的时候就会执行到selfInitialize方法;讲解: 是因为Ser...

2021-11-17 17:10:52 928

原创 mybaits整合的两种方式

xml形式1.sqlSessionFactory的配置<!-- sqlSessionFactory 1.spring-mybaits整合--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 加载 MyBatis 的配置文件 --> <!--<property name="configLoca

2021-11-09 16:27:55 323

原创 Java继承中的方法调用,你搞清楚了吗

Scan方法的调用过程我们就从Mybaits和Spring整合的一个类讲解吧, 当时我也有点懵<!-- Mapper 扫描器 2.spring-mybaits整合--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 扫描 cn.wmyskxz.mapper 包下的组件 --> <property name="basePac

2021-10-19 15:20:33 443

原创 关于ThreadLocal内存泄漏的问题

什么是ThreadLocal?ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里有几点需要注意:因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 ThreadLocal 命名的由来。 既然每个 Thread 有自己的实例副本,且其它 Thread 不可访问,那就不存在多线程间共享的问题。以上就不多说了,百度一下多的是这个描述怎么使用ThreadLocal?

2021-08-17 16:10:47 272

原创 Spring 中 @Scope 注解

首先Spring管理的Bean默认是单例的@Scope ("prototype") 通过注解可以实现多个实例的解决 Spring定义了多种作用域,可以基于这些作用域创建bean,包括:单例( Singleton):在整个应用中,只创建bean的一个实例。也就是单例 原型( Prototype):每次注入或者通过Spring应用上下文获取的时候:getBean,都会创建一个新的bean实例。多例,每次getBean的时候都会创建新的对象 request表示请求,即在一次http请求中,被.

2021-08-12 10:49:51 864

原创 layui table更新一行数据

需求 点击一行数据后面的处理,只刷新这行数据的内容,不全部刷新updatelayui 给我们提供了update方法,可以用来修改当前行数据//工具条事件table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值" var data = obj.data; //获得当前行数据 var layEvent = obj.event; //获得...

2021-08-03 10:37:04 12134 3

原创 Spring事务原理 @Transactional原理

数据库事务:我们如果要探讨Spring事务原理,那我们首先得明白什么是数据库事务,数据库事务有什么特性;数据库事务:是由一组sql语句组成的逻辑处理单元; (说白了- 多条语句作为一个整体 进行操作的功能;也就是说 A表新增一条记录,B表就要插入一条日志, 这两个操作是一个整体,事务可以保证 这两个sql要么都执行成功也就是都插入数据,要么都不执行也就是都不插入数据)事务可以保证该事务下的所有操作也就是sql执行 要么都成功,要么都不成功事务特性:具有4个属性,通常简称为事务的ACI

2021-07-08 17:09:39 275

原创 在iframe里怎么触发父框架的点击事件

父级:index.html页面<input id="no" type="text"/>给id="no"元素 绑定自定义hello事件$("#no").bind('hello',function(){ console.log("hello");});在子页面:show.html触发该事件parent.$("#no").trigger('hello'); //触发父页面元素的hello方法...

2021-06-28 14:48:33 798

原创 oracel 行转列 unpivot函数

语法unpivot函数:列转行函数:  语法:unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名));

2021-06-02 11:21:30 283

原创 mysql 内联接和外联接底层算法

前言我们都知道内联接返回的是两张表的交集数据:inner join 左连接返回左表的数据,如果没有右表匹配的返回null但是我们知道底层是为什么吗? 下面我们就来看具体的底层算法,其实看了算法就很明白为什么了,而不用去死记硬背!!实践有两张表mysql> select * from score;+----+--------+-------+| id | stu_id | score |+----+--------+-------+| 1 | 1 | ...

2021-05-27 18:10:28 144

原创 mysql expalin字段详解

前言table :CREATE TABLE `xx_user` ( `crad` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `description` varchar(20) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`crad`), KEY `name_desc_index` (`name`,`description`)) ENGINE=In...

2021-05-12 18:15:31 143 1

原创 Mybatis-plus中自定义的sql语句调用QueryWrapper实现查询和具体实现

需求项目中需要实现自定义的查询,但是仍然想用QueryWrapper对象里面的那些查询,在接口中方法中:@Param(Constants.WRAPPER) QueryWrapper<T> queryWrapper; 里面的Constants.WRAPPER其实就是:"ew"在我们的Mapper.xml文件中:直接使用:${ew.customSqlSegment} 就可以调用QueryWrapper对象的条件sql<select id="selectCustEx..

2021-04-14 17:13:27 17002

原创 mybaits与spring整合

mybaits与spring整合思考如果需要整合的话,我们mybaits需要做什么事情呢?1.肯定是要把我们的Mapper文件注入到我们的springIOC容器里面2.而且还要为我们的Mapper文件的接口创建动态代理对象我们来看整合需要的配置文件 <!-- sqlSessionFactory 1.spring-mybaits整合--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFac

2021-03-25 14:36:26 127 2

原创 关于java8的方法引用

关于java8的方法引用今天偶然看到一段代码 //首先有一个Studeng类 有一个静态方法,有个实例方法 class Student{ class Student { private String name; public Student(){ } public Student(String name){ this.name = name; } //实例方法 say() public void say() {

2021-03-19 16:56:49 165

jd-gui反编译工具

用于反编译java文件,反编译过后可以直接保存文件使用,并且我的博客里面有jd-gui使用的文章,不清楚的可以去查看奥

2018-10-30

空空如也

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

TA关注的人

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