自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot任意版本的开发文档下载

如果你使用SpringBoot做开发,迟早有一天你会需要你对应版本的开发文档的帮助。要想获取你对应版本的开发文档。首先打开Spring官网。我们可以看到,只提供了当前主流版本的帮助文档。

2023-08-24 18:51:28 83

原创 火狐浏览器访问github提示:未连接:有潜在的安全问题

火狐浏览器访问github,提示: 未连接:有潜在的安全问题; Firefox 检测到潜在的安全威胁,并因 github.com 要求安全连接而没有继续。如果这种情况是因为使用DevSidecar而引起的,可以使用以下方式解决:在地址栏输入:about:config在搜索框输入:security.enterprise_roots.enabled 将值切换为true即可。...

2022-07-02 11:20:33 14561 7

原创 spring源码笔记(六) ----spring使用三级缓存解决循环依赖问题

本文主要内容分以下几个方面阐述:1:什么是循环依赖?2:什么是三级缓存?每一级缓存中都存储的是什么内容?3:spring是如何解决循环依赖问题的,为什么使用三级缓存而不是二级缓存来解决循环依赖问题?1:什么是循环依赖?举个简单实例,当有两个类A类,和B类。public class A{ private B b;}public class B{ private A a;}A类中有一个B类字段,而B类中有一个A类字段。此时,我们要创建一个A类型..

2021-03-04 22:22:18 368

原创 spring源码笔记(五) ----Bean的创建流程分析

此处介绍的Bean的创建流程是既没有循环依赖,也没有Aop代理的,通过默认构造创建的Bean的详细调用流程。整个过程由doCreateBean方法进行处理。第一步:通过无参默认构造创建类的实例。为什么spring中的Bean一定要提供一个无参默认构造呢?因为在上层调用链中,调用doGetBean(String name, @Nullable Class<T> requiredType, @Nullable Object[] args, boolean typeCheckO.

2021-02-22 23:17:01 306

原创 StarUML工具软件的简单使用教程

从零开始绘制一份java类图:打开软件,点击file,new。创建一个新文件。首先第一步:认识左边的工具栏ToolBox;如果左边没有出现工具栏的话,点击view选项卡,将Toolbox勾选。toolbox基本类型如图所示。第二步:尝试创建一个类。选中class,在右边画布下放置即可。class 的可见性有 +、 #、 ~、 - 四种;依次为 public protected default(package) private。第三步:为类创建属性:属性字段的书写方式为:权

2021-02-21 23:14:21 4064 1

原创 spring源码笔记(四) ----Bean的创建源码调用链分析

spring容器中创建一个Bean包含了调用构造方法创建对象,属性填充,直到缓存到单例池中的全过程分析。在属性填充也就是DI的过程中,spring又提供了三级缓存来解决循环依赖的问题。

2021-02-21 12:45:16 182

原创 spring源码笔记 (三)---- 创建用户自定义Bean之前的准备工作

在前边的两篇内容中,我们了解到了BeanDefinition的相关知识,以及创建BeanDefinition以后,通过BeanFactoryPostProcessor接口对BeanDefinition的定制化修改操作。BeanDefinition加载与定制化修改完成以后,接下来要做什么呢?是不是马上就要开始创建Bean了呢?spring在开始创建用户自定义Bean之前,还做了对BeanPostProcessor接口实现类的实例化。这个接口BeanFactoryPostProcessor接口在名称上很

2021-02-14 21:21:27 154 1

原创 spring源码笔记 (二)---- BeanDefinition的加载机制

在中对BeanDefinition类的定义做了初步的了解以后,我们了解到BeanDefinition与我们用户创建的普通Bean是一一对应的,用户每创建一个Bean,就会有一个BeanDefinition与之对应。他们共同作为了创建一个Spring中Bean的信息来源,那么他们两者的加载时机相同吗?有没有先后顺序?BeanDefinition是何时加载的,通过什么途径加载的呢?真正提供使用的BeanDefinition是只包含接口中的那些信息还是又做了拓展?本文将会对这些问题一一解答。一、Bean...

2021-01-30 23:31:45 437

原创 spring源码笔记(一) ---- BeanDefinition类详解

网上写spring源码的文章很多,为什么我还想要再写一遍呢。有很重要的一点,就是每个人在阐述源码的时候侧重点不同。当我对spring的某一部分有疑惑的时候,去翻看别人写的博客,翻了很多篇,到后来才发现,我的疑惑依然没有得到解答。很大程度是因为别人写的标题就是我存在的问题,但是别人写的重点却不是我想要了解的点。于是大多数时候在网上看文章解决问题的过程就像是在点燃一个蔫炮。你搜索A问题的关键字,就好像双手颤颤着点燃了引信,然后你在A问题给出的解决方案里,发现B问题是解决A问题的前提,然后,你转头去...

2021-01-29 22:39:55 397 2

原创 JS创建对象的方式

JS创建对象常见的方式有六种,接下来我们对这几种创建方式以及它们的优缺点进行一一对比。第一种,使用new关键字。 var person = new Object(); person.username = "张三"; //先创建对象,而后为对象添加属性username person.age = 25; //先创建对象,而后为对象添加属性age person.show = function(){

2020-06-14 02:41:59 170

空空如也

空空如也

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

TA关注的人

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