自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot 自定义初始化器(基于META-INF/spring.factories文件)

目录示例原理示例基于META-INF/spring.factories设置ApplicationContextInitializer实现类来实现自定义初始化器1.创建一个TestInitializer 实现ApplicationContextInitializer,Ordered .一个是初始化器接口, 一个是排序./** * @Author: xc * @Date: 2020/6/14 */public class TestInitializer implements Applicati

2020-06-14 23:54:48 4063 1

原创 springboot 自定义初始化器 (基于DelegatingApplicationContextInitializer)

目录示例原理示例通过DelegatingApplicationContextInitializer类,来自定义实现初始化器.创建一个TestInitializer 实现ApplicationContextInitializer,Ordered 接口一个是初始化器接口, 一个是排序./** * @Author: xc * @Date: 2020/6/14 */public class TestInitializer implements ApplicationContextInitializ

2020-06-14 23:14:21 332

原创 SpringBoot源码分析之-启动流程分析四(prepareEnvironment 环境准备)

3.ConfigurableEnvironment environment = prepareEnvironment(listeners, applicationArguments); private ConfigurableEnvironment prepareEnvironment(SpringApplicationRunListeners listeners, ApplicationArguments applicationArguments) { // Create and config

2020-06-14 17:26:37 318

原创 阻塞队列 BlockingQueue

目录BlockingQueue介绍BlockingQueue接口结构实现类介绍ArrayBlockingQueueLinkedBlockingQueueLinkedBlockingDequePriorityBlockingQueueSynchronousQueueDelayQueueLinkedTransferQueue总结BlockingQueue介绍阻塞队列,并发安全(ReentrantLock),不能插入nullBlockingQueue接口结构定义了阻塞队列的几种插入和获取元素等方法

2020-06-13 23:38:47 246

原创 java基础-循环

循环方式简介while方式for方式退出循环的几种方式简介循环就是满足判断表达式就一直重复执行循环体, 就像绕操场跑步一圈一圈的跑不到规定的数不要停, 到终点又到起点开始.所以写死循环就是让 判断表达式每次都为true本篇主要讲java中循环的方式,和退出循环的方式java中有循环有两种方式1.while2.for退出循环的几种方式1.自然结束2.continue3.break4.异常5.return本篇的代码示例地址: github.while方式 @Test

2020-06-11 00:00:50 128

原创 SpringBoot源码分析之-启动流程分析三(监听器SpringApplicationRunListener)

目录前言观察者模式run方法中出现的地方前言上一篇SpringBoot源码分析之-启动流程分析二(run方法)简单分析了的run流程这一篇主要分析一下监听器 SpringApplicationRunListener观察者模式 class SpringApplicationRunListeners { //监听器集合 private final List<SpringApplicationRunListener> listeners; SpringApplicationRu

2020-06-09 00:40:56 242 1

原创 SpringBoot源码分析之-启动流程分析二(run方法步骤介绍)

目录前言run主要流程介绍简单方法介绍configureHeadlessProperty();getRunListeners()createApplicationContext()refreshContext(context);afterRefresh(context, applicationArguments);callRunners(context, applicationArguments);前言上一篇分析了SpringApplication的构造初始化,初始化主要设置加载类,项目类型(非web,

2020-06-08 00:18:56 329

原创 SpringBoot源码分析之-启动流程分析一(SpringApplication构造器)

目录简介springboot入口类SpringApplication类简单介绍流程主要方法介绍简介springboot入口类SpringApplication类run方法进去看到 public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { return run(new Class<?>[] { primarySource }, args); }

2020-06-07 19:21:11 629 2

原创 java基础-注解

目录简介元注解@Target@Retention@Document@Inhrited注解中的参数类型示例简介Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。注解的生命周期有三种: 源码,class,运行时.元注解元注解的作用就是负责注解其他注解,java 有4个meta-annotation类型,用来提供annotation类型做说明。1.@Target2.@Retention3.@D

2020-06-06 17:08:15 174

原创 java基础-jdk动态代理

目录代理模式动态代理JDK动态代理示例总结代理模式首先了解一下什么是代理模式, 现在有个有个Job, 我想要在执行work前后加上日志,那么如果没有代理类的话,我们需要修改实现类中work方法,在方法第一行加个日志,最后返回前加个日志. 日志原本与work无有直接关系,却和work直接耦合在了一起, 这违反了开闭原则.代理模式通过一个代理类,代理类包含一个被代理对象,同样要加日志的话,只需要在代理类调用work方法前后加日志就行,而非修改work原有业务逻辑.代理模式结构图静态代理虽然解决了上诉

2020-06-06 16:35:07 114

原创 java基础-反射

目录前言反射相关类简介准备ClassFieldMethodConstructor总结前言JAVA反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性, 方法, 注解, 继承实现的信息,也就你想要的这里都有. 对于任意一个对象, 都能够调用它的任意方法和属性, 这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制.反射是学习框架源码之前必须掌握的知识!本篇主要是介绍api的使用在线文档.示例代码github.反射相关类简介类描述Class

2020-06-06 15:35:54 213

原创 lombok常用注解

lombok使用官网: projectlombok.org

2020-06-06 13:09:41 229

空空如也

空空如也

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

TA关注的人

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