自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot3.0 Maven整合Querydsl

spring boot 3.0已经发布挺长时间了,个人最近尝试了一下,一直比较喜欢jpa,于是准备整合一波querydsl,但是网上旧帖和水帖较多,一直没找到简单直接且有效的攻略,于是在此献丑,贡献一份。

2023-05-31 11:21:06 1625 3

原创 死磕Spring原理 -- 注入过程详解

本文着重分析执行流程。DI流程简介ioc容器:BeanFactory,工厂容器初始化获取BeanDefinition:InstantiationStrategy,实例化策略依赖注入:AbstractPropertyAccessor,属性访问器,用于各种方式的注入,如setter方法注入,构造器注入等实例化Bean:BeanWrapper,Bean的包装类DI过程概述核心方法getBean()非lazyInit在refresh的方法finishBeanFactoryInitializat

2020-08-17 12:14:34 778 1

原创 死磕Spring原理--Spring扫描包过程

无论使用哪种方式,最终都会使用ClassPathBeanDefinitionScanner.doScan()方法使用JavaConfig方式AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(XXX.class);分成两步:先加载主类这个BeanDefinition – register()再根据主类上的@ComponentScan("xxx.yy")去扫描加载 –refresh

2020-08-17 12:03:49 677

原创 死磕Spring原理--AnnotationConfigApplicationContext加载Bean过程

在AnnotationConfigApplicationContext中有两个成员变量//准备环境配置,加入一些配置的后置处理器,注解解析器等private final AnnotatedBeanDefinitionReader reader;//扫描器,用于过滤出带注解的类,如Component、Configuration注解private final ClassPathBeanDefinitionScanner scanner;AnnotationConfigApplicationCont

2020-08-17 12:00:23 1760 1

原创 死磕Spring原理--ClasspathXmlApplicationContext加载bean过程

执行ClasspathXmlApplicationContext构造器,最终会执行到下面这个方法Tips:大部分spring的代码中,xxx()并不是实际工作的方法,而doXxx()才是。public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, @Nullable ApplicationContext parent)throws BeansException { super(parent);

2020-08-17 11:56:37 597

原创 常用第三方组件容器化启动

MariaDB拉取docker pull mariadb启动docker run --name local-mariadb -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mariadb环境变量MYSQL_ROOT_PASSWORDMYSQL_DATABASEMYSQL_USER, MYSQL_PASSWORDMYSQL_ALL...

2019-06-25 10:59:37 218

原创 lesson 5 聚合项目

lesson 5 聚合项目之前说完了很多基本的东西,现在来说说在多项目中Gradle是这么做的。还是使用之前的示例lesson项目。我们可以利用IDE直接创建一个module出来,不过这样就没啥意思了,既然我们刚开始学,还是自己创建吧。创建一个web,entity文件夹,文件结构如下.├── build.gradle├── entity├── settings.gradle└──...

2019-01-21 15:06:57 161

原创 lesson 4 自定义spring boot项目

lesson 4 自定义spring boot项目上一篇我们已经了解到从IDE中创建一个springboot的项目,并对配置文件做出了调整。这次将会讲到自定义的spring boot项目将如何书写配置文件。首先想好一个项目的名称,这里就叫做lesson吧,然后创建一个lesson的文件夹,并创建两个.gradle后缀的文件,一个叫build.gradle,另一个叫settings.gradle...

2019-01-16 10:48:16 169

原创 lesson 3 Gradle和SpringBoot

lesson 3 Gradle和SpringBoot现在很流行微服务,而作为java程序员,几乎都必须使用spring boot框架来开发,下面和大家一起学习,spring boot中的gradle使用,从实际行动来理解Gradle的构建过程。熟悉spring boot的朋友一定知道,基础项目可以通过各种各样的工具来创建,我使用了IDEA中的spring initializr创建出一个项目,创...

2019-01-15 09:06:10 535 2

原创 lesson 2 Gradle基本语法

lesson 2 Gradle基本语法之前说过,gradle是基于Groovy语言的,那么现在来说一说他的一些基本语法,和在gradle中常用的一些方法。如果小伙伴们使用了eclipse或者idea那么都可以使用IDE中安装的groovy插件进行操作。下面以idea为例。在idea中工具栏中选择tools->Groovy console就可以打开一个groovy的窗口了。然后可以在里...

2019-01-15 09:01:25 149

原创 lesson 1 初识Gradle

lesson 1 初识Gradle在gradle的脚本中,存在两个比较重要的概念,那就是project和task。就像他们的意思一样,一个指项目,一个指任务。Gradle使用的是groovy这个语言,这个语言和java都是用jvm,所以都可以在jvm上运行,并且完全兼容java的语法,关于groovy后面会详细讲到。项目,其实他就是一个对象,叫做project,这个类就是org.gradle...

2019-01-10 15:44:08 135

原创 Gradle从入门到放弃

Gradle从入门到放弃从今天开始,我们一起来学习和分享gradle。闲话不多说,gradle的发展史就不详述,直接上实用干活。lesson 0 安装和配置前提:请自行配置jdk,jdk是gradle需要的环境自动安装直接跳过,只讲一讲手动安装的过程。官网下载一个gradle的安装包,这些包和maven的类似,都是压缩包,解压后没有安装过程,直接配置即可使用。官网下载链接说明: 可能需...

2019-01-10 10:22:46 253

原创 MySQL 5.5+主从配置

数据库主从配置是目前十分常见的技术,因此本文将讲述最基本配置方法。首先需要多个mysql的服务,至少两个(可以是各个环境下的)确认防火墙不会阻碍访问(这是一个容易忽视的问题)数据库版本至少为5.5+,但不要是8以上(8以上的版本比较新,容易造成更多问题)各服务器中需要相同的数据库名,和相同结构的表确定好一台主服务器以后,安装上mysql,下面使用mysql5.7版本。(安装过程可参见...

2019-01-08 15:53:43 577

原创 Idea Mac快捷键

Idea Mac快捷键Idea中有许多快捷操作方式,本文将列出十分实用的几类操作,特别常见、不太实用或不太方便的操作可能没有写入。下面的操作方式都是在Mac OS X 10.5+的快捷键模式下使用的。快捷键说明:⌘:command⇧:shift⌥:option/alt⌃: control/ctrl文本编辑操作快捷键操作double ⌥ 并按住不放+↑↓光标...

2018-12-27 10:00:23 1659

原创 Spring Boot启动速度慢的原因总结

现在spring boot的架构可以说是非常流行,不会你都不好意思说你是做java的。可是它火归火,也有一些小问题需要咱们去注意。如果是单体项目,并且在启动速度方面没有任何要求,那么请忽略。下面进入主题,在什么情况下spring boot的项目启动会变慢呢前提条件启动项目的机器硬件配置不能拖后腿,否则你说项目启动慢,项目还觉得机器不行呢…比如网络,内存大小,CPU核心数等,不要求太高,至...

2018-12-24 10:37:18 23315

原创 Mac实用App

Cheetsheet快捷键一定是任何系统、软件中最必不可少的东西,但是快捷键太多,记不住怎么办?cheetsheet还是一款免费,且体积较小的快捷键提示app。使用方法简单,只需要按住command键即可(按住时间可自己设定),它就会弹出在当前应用下的常用快捷键了。官方下载地址:Cheetsheet官网1Password这是一款用于保存个人任何信息的app。各种账户密码多到记不住,设...

2018-12-10 10:15:03 367

空空如也

空空如也

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

TA关注的人

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