大鹏cool_社区达人页

个人头像照片
大鹏cool
已加入开发者社区1874

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布111篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Java
擅长领域
技术认证

暂无个人介绍

暂无精选文章
暂无更多信息

2022年11月

  • 11.22 12:36:40
    发表了文章 2022-11-22 12:36:40

    数据库事务基础知识

    前言 本文主要对数据库事务的一些基础概念进行总结,目的是为理解 Spring 的事务管理展开铺垫,并不涉及底层事务的实现,文中所提到的事务均为单机事务。
  • 11.22 12:32:47
    发表了文章 2022-11-22 12:32:47

    Spring AOP @EnableAspectJAutoProxy 实现原理分析

    介绍 @EnableAspectJAutoProxy 注解是 Spring AOP 框架提供给用户开启 AspectJ 注解支持的一个开关。将其添加到 Spring 配置类上,然后就可以在 Spring Bean 上使用 AspectJ 注解,将 bean 配置为一个 Aspect。
  • 11.22 12:29:12
    发表了文章 2022-11-22 12:29:12

    Spring AOP 与 AspectJ

    前言 Spring AOP 主要具有三种使用方式,分别是注解、XML 配置、API,目前在 Spring 中,由于 XML 需要大量配置,注解已经逐步取代 XML 配置,而 API 需要对 Spring 底层具有较深入的了解才能使用,因此注解成了应用 Spring 的首选方式。
  • 11.22 12:25:53
    发表了文章 2022-11-22 12:25:53

    Spring AOP 的三种使用方式(万字长文)

    前言 Spring AOP 作为 Spring Framework 的核心模块,对 Spring IOC 加以补充,Spring 内部使用它提供了企业级的服务,如事务、异步、缓存等,同时它也允许用户自定义 Aspect,以便用 AOP 补充对 OOP 的使用。通常情况下,我们会通过 AspectJ 的注解来使用 Spring AOP,那么 Spring 一共提供了哪些使用 AOP 的方式呢?本篇将对其总结,并尝试了解 Spring AOP 的内部实现。
  • 11.22 12:09:30
    发表了文章 2022-11-22 12:09:30

    从代理到 AOP,如何手写一个 AOP 框架?

    背景 AOP(Aspect-oriented Programming) 作为 OOP(Object-oriented Programming) 的补充,提供了另外一种思考程序结构的编程思想。OOP 的模块化的单位是 Class,而 AOP 模块化的单位则为 Aspect。Aspect 将跨越多个 Class 的关注点模块化,如日志、事务等等。本篇从代理谈起,逐步过渡到 AOP,并实现一个简单的 AOP 框架,旨在加深自己和大家对 AOP 的理解。
  • 11.22 11:18:35
    发表了文章 2022-11-22 11:18:35

    MyBatis TypeHandler 泛型踩坑指南

    背景 为了支持数据库字段与复杂 Java 类型之间的转换,最近我所参与的项目中使用到了 MyBatis TypeHandler,由于 MyBatis 设计问题,如果为同一个泛型类的不同参数类型创建多个 TypeHandler,后面注册的 TypeHandler 会将前面注册的 TypeHandler 覆盖,从而引发错误,因此这里做一篇总结,并提供给其他小伙伴一些解决思路。
  • 11.22 11:07:04
    发表了文章 2022-11-22 11:07:04

    MyBatis 中的设计模式

    前言 软件开发的流程一般可分为分析、设计、实现,设计模式在处于设计或代码实现阶段,以设计思想、设计原则作为指导,相对来说更为具象,是前人对经常遇到的设计问题总结出的一套解决方案,多数设计模式用来解决代码的扩展性问题,在框架中使用的场景较多。
  • 11.22 10:50:44
    发表了文章 2022-11-22 10:50:44

    设计模式之模板方法

    定义 模板方法是结构型设计模式的一种,它定义了算法的骨架,并将算法中的某些步骤推迟到子类实现。模板方法可以让子类重新定义算法中的某些步骤,而不需要修改算法的整体结构。
  • 11.22 10:49:23
    发表了文章 2022-11-22 10:49:23

    设计模式之责任链模式

    定义 责任链模式是结构型设计模式的一种,它将请求的发送者与接收者解耦,给多个对象处理请求的机会。请求沿着链传递,直到链上的接收对象可以处理该请求为止。
  • 11.22 10:47:09
    发表了文章 2022-11-22 10:47:09

    透过 Java IO 流学习装饰器模式

    装饰器模式是结构性设计模式中的一种,结构型设计模式主要总结了一些将类或接口组合在一起的经典结构,装饰器模式用于对现有的类的功能进行增强。
  • 11.22 10:45:43
    发表了文章 2022-11-22 10:45:43

    设计模式之建造者模式

    建造者模式同样是创建型设计模式的一种,用于解决复杂对象的创建问题。
  • 11.22 10:43:22
    发表了文章 2022-11-22 10:43:22

    设计模式之工厂模式

    工厂模式 与单例模式一样,工厂模式同样属于创建型设计模式的一种。单例模式用于保证一个类只有一个实例,而工厂模式则用于创建类型相关的不同对象,它同样具有不同的实现方式,具体可以细分为简单工厂、工厂方法、抽象工厂,分别适用于不同的场景。
  • 11.22 10:40:01
    发表了文章 2022-11-22 10:40:01

    单例模式在 Java 中的几种实现

    前言 经典的设计模式有23种,分为创建型、结构型、行为型,分别适用于不同的场景。由于设计模式过多,很难一篇文章就讲清楚,因此后面的文章会将常见的设计模式做一个拆分的介绍。
  • 11.22 10:36:41
    发表了文章 2022-11-22 10:36:41

    MyBatis 缓存机制分析,MyBatis 真的有二级缓存?

    前言 缓存主要用来提高查询效率。以计算机的 CPU 为例,CPU 具有三级缓存,性能依次降低,优先从一级缓存查询,一级缓存未命中时再从二级缓存查询,二级缓存未命中时再从三级缓存查询。
  • 11.22 10:29:10
    发表了文章 2022-11-22 10:29:10

    谈谈 MyBatis 的插件,除了分页你可能还有这些使用场景

    前言 扩展性是衡量软件质量的重要标准,MyBatis 作为一款优秀的持久层框架自然也提供了扩展点,那就是我们今天谈到的插件。MyBaits 的插件拦截内部组件方法的执行,利用插件可以插入自定义的逻辑,例如常用的支持物理分页的 PageHelper 插件。
  • 11.22 10:19:59
    发表了文章 2022-11-22 10:19:59

    一条 SQL 是如何在 MyBatis 中执行的

    前言 MyBatis 执行 SQL 的核心接口为 SqlSession 接口,该接口提供了一些 CURD 及控制事务的方法,另外还可以通过 SqlSession 先获取 Mapper 接口的实例,然后通过 Mapper 接口执行 SQL,Mapper 接口方法的执行最终还是委托到 SqlSession 中的方法。
  • 11.22 10:11:03
    发表了文章 2022-11-22 10:11:03

    MyBatis Mapper 接口方法执行原理分析

    前言 通过前面入门 MyBatis 的文章《MyBatis 初探,使用 MyBatis 简化数据库操作(超详细)》,我们已经对 MyBatis 有了一定了解。
  • 11.22 10:07:12
    发表了文章 2022-11-22 10:07:12

    MyBatis 初探,使用 MyBatis 简化数据库操作(超详细)

    MyBatis 的源码相对于 Spring 来说更为简单,因此并没有花费太多的时间。本篇作为 MyBatis 的入门篇,
  • 11.22 10:00:56
    发表了文章 2022-11-22 10:00:56

    Java 中创建代理的几种方式

    代理模式 设计模式最初由 GOF 在《设计模式》一书中总结,将其划分为创建型、结构型、行为型三大类。其中结构型模式总结了一些将类或对象组合在一起的经典结构。
  • 11.22 09:57:18
    发表了文章 2022-11-22 09:57:18

    Java 基础知识之 JDBC(下)

    语句 Statement 用于执行 SQL,返回执行结果 ResultSet,主要分为三种,分别是 Statement、PreparedStatement、CallableStatement,下面分别加以介绍。
  • 11.22 09:54:09
    发表了文章 2022-11-22 09:54:09

    Java 基础知识之 JDBC(上)

    什么是 JDBC JDBC 全称 Java DataBase Connection,是 Java 定义的一套访问关系型数据库的规范,实现由各数据库厂商来完成,通过这套 API,Java 开发者可以轻松的访问各数据库。
  • 11.22 09:48:49
    发表了文章 2022-11-22 09:48:49

    理解 Spring 应用上下文生命周期

    前言 Spring 应用上下文(ApplicationContext),是 Spring 应用的核心接口,也是我们常说的 Spring 容器,除了扩展了基础容器 BeanFactory 还提供了更多企业级的特性,如资源管理、事件发布、国际化等。
  • 11.22 09:42:22
    发表了文章 2022-11-22 09:42:22

    程序员提高之源代码阅读篇

    前言 最近刚换了新工作,正在熟悉公司环境,因此博客更新有所耽误,那么本篇也是选自入职部门分享的主题,从今年5月份开始,我也在阅读 Spring 的源码,参考网络上的内容以及本人学习的一些经验,总结出本篇。
  • 11.22 09:39:25
    发表了文章 2022-11-22 09:39:25

    Spring 国际化支持之 MessageSource

    背景 为了友好的支持各个国家的语言,Java 本身已经提供了对国际化的支持,上篇文章《Java 国际化与文本格式化》已经介绍了 Java 对国际化的支持。
  • 11.22 09:37:16
    发表了文章 2022-11-22 09:37:16

    Java 国际化与文本格式化

    国际化标准实现 Java 中的字符使用 Unicode 编码,因此支持各个国家的语言。如果开发的软件仅在中国使用,那么我们直接使用中文即可。
  • 11.22 09:33:19
    发表了文章 2022-11-22 09:33:19

    认识 Java 中的 URL

    什么是URL? URL 即 Uniform Resource Locator,翻译为中文为统一资源定位符,表示万维网上的一个资源,资源可以是实际存在的一个文件,也可以是抽象的数据库的查询结果。
  • 11.22 09:29:51
    发表了文章 2022-11-22 09:29:51

    Spring 循环依赖处理

    什么是循环依赖? 如果对象A使用到了对象B,那么我们就说对象A依赖对象B。如果对象A依赖对象B的同时,对象B也依赖对象A,我们就说对象A和对象B产生了循环依赖。
  • 11.22 09:27:31
    发表了文章 2022-11-22 09:27:31

    Java 面试必备的 Spring Bean 生命周期总结

    前言 Spring 作为 IOC 容器,管理的对象称之为 bean,Java 对象在 ClassLoader 中有自己的创建和清理过程,那么 Spring Bean 在容器中也有自己的生命周期。
  • 11.22 09:22:18
    发表了文章 2022-11-22 09:22:18

    认识 Spring 依赖注入中的 @Qualifer

    前言 Spring 支持注入单一类型和集合类型的依赖,对于单一类型,如果按照类型进行注入,容器中存在多个相同类型的 bean 时,Spring 将抛出 NoUniqueBeanDefinitionException 异常。对于这种情况,我们可以选择将某一个 bean 设置为 primary,然而如果存在多个 primary 的 bean,Spring 仍将无法处理,这时便引出我们今天介绍的 @Qualifier,使用 @Qualifier 可以明确指出注入哪个 bean。
  • 11.22 09:19:27
    发表了文章 2022-11-22 09:19:27

    浅析 Spring 依赖解析实现

    背景 接上篇《Spring 依赖注入的方式,你了解哪些?》,上篇介绍了 Spring 包括 setter、字段、构造器、方法、接口回调等依赖注入的几种方式以及依赖注入的来源,更多的是停留在认识或者使用层面。这篇从源码的角度进行分析,Spring 在依赖注入的过程中如何解析依赖。
  • 11.21 21:20:51
    发表了文章 2022-11-21 21:20:51

    设计模式之适配器模式

    适配器模式定义 适配器模式是结构型设计模式的一种,通过使用继承或组合的方式将不兼容的接口适配为另一种兼容的接口。
  • 11.21 21:19:03
    发表了文章 2022-11-21 21:19:03

    Java 中 String、StringBuilder、StringBuffer 有何区别?StringBuffer 还有用武之地吗?

    前言 开发项目时,我们通常会复用一些之前项目的代码,然而复用并不意味着应该直接复制粘贴。最近重构项目,发现项目中存在了很多未被使用的工具类、一些将自己封装的 ORM 类,错误使用访问权限修饰符等情况,想必是有同事直接复制了其他项目的代码,而其他项目代码质量又不佳,导致新项目代码中充斥着腐朽的味道。事实上,非业务逻辑的部分,大多数都有一些开源的框架、工具,它们可以帮助我们将注意力集中在核心的业务逻辑中。
  • 11.21 21:17:12
    发表了文章 2022-11-21 21:17:12

    Spring 依赖注入的方式,你了解哪些?

    前言 依赖查找和依赖注入是 Spring 实现 IoC 容器提供的两大特性,相对于依赖查找,Spring 更推崇的是使用依赖注入,本篇先对 Spring 中依赖注入的几种方式进行介绍,后续再分享其实现。
  • 11.21 21:13:18
    发表了文章 2022-11-21 21:13:18

    Spring 事件处理机制详解,带你吃透 Spring 事件

    前言 Spring 事件处理基于 Java 观察者模式扩展。Spring 应用上下文中发布了各种事件,此外 Spring 还允许我们发送和处理自定义的事件,本篇将对 Spring 的事件机制使用及其实现进行详细介绍。
  • 11.21 21:06:44
    发表了文章 2022-11-21 21:06:44

    Spring 泛型处理之 ResolvableType

    前言 泛型自 Java 5 诞生,为了支持泛型,Java 5 新增了 Type 类,表示 Java 中的某一种类型,反射包中提供的获取泛型类型的方法中多是返回 Type 类型,使用时需要进行强制类型转换,为了简化对泛型信息的获取,Spring 4 开始提供了一个 ResolvableType,本篇将详细对其分析。
  • 11.21 21:01:14
    发表了文章 2022-11-21 21:01:14

    学习 Java,你不得不知的泛型知识

    前言 泛型是 Java 5 新增的一项特性,可以理解为类型的参数,主要用于代码重用,语义化代码,避免运行时的强制类型转换异常。
  • 11.21 20:53:22
    发表了文章 2022-11-21 20:53:22

    细数 Spring 依赖查找的那些方式

    前言 依赖查找和依赖注入是 Spring IOC 容器提供的核心特性,Spring 建议尽量使用依赖注入的方式,另外 Spring 也提供了相关的 API 供用户进行依赖查找,Spring 依赖注入的能力同样依赖于依赖查找,这篇我们将关注 Spring 有哪些依赖查找的方法。
  • 11.21 20:49:45
    发表了文章 2022-11-21 20:49:45

    Spring 中 @Autowired 和 @Resource 有什么区别?

    背景 做为一名 Java 程序员,日常开发中使用最多的便是 Spring,工作了很多年,很多人都停留在使用的层面上,甚至连最基本的概念都没搞懂。笔者在 Java 领域也辛勤耕耘了几年,为了避免浮于表面,在今年6月份开始看 Spring 的源码,其优秀的设计确实值得每一个 Java 开发者去学习。
  • 11.21 20:47:17
    发表了文章 2022-11-21 20:47:17

    掌握 Spring 必须知道的 BeanDefinition(下)

    xml 配置解析 xml 配置文件的解析由 XmlBeanDefinitionReader 来完成。XmlBeanDefinitionReader 加载 BeanDefinition 的入口方法如下。
  • 11.21 20:41:07
    发表了文章 2022-11-21 20:41:07

    掌握 Spring 必须知道的 BeanDefinition(上)

    什么是 BeanDefinition? BeanDefinition 直译为 bean 定义,描述了一个 bean 实例具有的构造方法参数和属性值等信息。与 Java 中的 Class 类似,Class 是类文件在内存中的表现形式,BeanDefinition 是 Spring Bean 配置元信息在内存中的表现形式,各种配置元信息最后都会被转换为 BeanDefinition ,Spring 根据 BeanDefinition 实例化、初始化 bean,BeanDefinition 涉及到 Spring Bean 的整个生命周期。
  • 11.21 20:36:59
    发表了文章 2022-11-21 20:36:59

    理解 Spring Bean 的作用域(Scope)

    理解 Scope Scope 表示 Spring bean 的作用范围,指明了 bean 的生命周期。
  • 11.21 20:34:20
    发表了文章 2022-11-21 20:34:20

    Spring 中的 Environment 、Profile 与 PropertySource(下)

    如何理解 Environment? Environment 由 Spring 3.1 版本提出,表示当前应用的运行时环境。用于管理 Spring 中的条件配置 Profiles 和配置属性源。
  • 11.21 20:29:03
    发表了文章 2022-11-21 20:29:03

    Spring 中的 Environment 、Profile 与 PropertySource(上)

    如何理解 Environment? Environment 由 Spring 3.1 版本提出,表示当前应用的运行时环境。用于管理 Spring 中的条件配置 Profiles 和配置属性源。
  • 11.21 20:21:52
    发表了文章 2022-11-21 20:21:52

    Spring 框架中的 @Enable* 注解是怎样实现的?

    概述 Spring 的项目中,我们经常会使用 @Enable 开头的注解到配置类中,添加了这种注解之后,便会开启一些功能特性。常用的注解如 @EnableWebMvc、@EnableTransactionManagement、@EnableAsync、@EnableScheduling 等等。
  • 11.21 20:17:47
    发表了文章 2022-11-21 20:17:47

    Spring 条件注解 @Conditional 使用及其底层实现

    概述 @Conditional 是 Spring 4.0 提出的一个新的注解,可以用在类或方法上,当标注的对象满足所有的条件时,才能注册为 Spring 中的 bean。条件由使用 Spring 的用户自己指定,例如指定的 bean 不存在时注册、不同的环境注册不同的bean 等。
  • 11.21 20:13:30
    发表了文章 2022-11-21 20:13:30

    Spring 资源管理 (Resource)

    Spring 为什么引入资源管理? Java 中有各种各样的资源,资源的位置包括本地文件系统、网络、类路径等,资源的形式可以包括文件、二进制流、字节流等,针对不同的资源又有不同的加载形式。
  • 11.21 20:08:15
    发表了文章 2022-11-21 20:08:15

    Spring 类路径下 Bean 扫描实现分析

    前言 接上篇 Spring 5 启动性能优化之 @Indexed,上篇提到 Spring 可以在编译时生成索引文件,在应用上下文启动时可以通过索引文件查找所需要的注册的 Bean,如果不存在索引文件或者配置了不处理索引文件的参数,则不会从索引文件获取元数据。这时,Spring 便需要从指定的包中扫描 bean。
  • 11.21 19:31:20
    发表了文章 2022-11-21 19:31:20

    Spring 5 启动性能优化之 @Indexed

    背景 Spring 经过近20年的发展,目前版本已经迭代到了5.x,每个版本 Spring 都有不同的改进,版本 5.x 中,Spring 把重心放到了性能优化上。我们知道,Spring 注解驱动编程中,Spring 启动时需要对类路径下的包进行扫描,以便发现所需管理的 bean。如果在应用启动前能够确定 Spring bean,不再进行扫描,那么性能就会大大提高,Spring 5 对此进行了实现。
  • 11.21 19:12:12
    发表了文章 2022-11-21 19:12:12

    Spring @AliasFor 实现源码分析

    前言 上篇 Spring 注解编程模型 有提到,Spring 对 Java 中的注解进行了增强,使用组合注解或者属性别名,可以让注解中的属性值覆盖元注解的属性值,并且不同的属性可以互为别名,这样在使用时只需要指定其中一个属性,其别名值也间接进行了提供。这篇便从源码进行入手,尝试分析其内部的实现。
  • 11.21 19:06:50
    发表了文章 2022-11-21 19:06:50

    Java 注解处理器及其应用

    前言 注解作为一种元数据,需要其他地方进行读取,在前面的文章 重识 Java 注解 中我们了解到,在运行时可以通过反射获取注解信息。元注解 @Retention 定义了注解的保留策略,具体有 SOURCE、CLASS、RUNTIME,那么保留策略不为运行时的注解有什么用呢?
  • 发表了文章 2022-11-22

    Spring MVC 系列之拦截器 Interceptor 最全总结

  • 发表了文章 2022-11-22

    Spring 多数据源配置详解

  • 发表了文章 2022-11-22

    Spring 加强版 ORM 框架 spring-data-jpa 入门与实践

  • 发表了文章 2022-11-22

    Spring 项目快速整合 JPA

  • 发表了文章 2022-11-22

    Spring 项目快速整合 Hibernate

  • 发表了文章 2022-11-22

    Java ORM 规范 JPA 入门

  • 发表了文章 2022-11-22

    认识 ORM 框架 Hibernate,为什么 2022 年了还在谈论它?

  • 发表了文章 2022-11-22

    Spring Boot 项目优雅实现 Excel 导入与导出功能

  • 发表了文章 2022-11-22

    Spring 加强版 ORM 框架 spring-data-jdbc 入门与实践

  • 发表了文章 2022-11-22

    Spring 加强版 ORM 框架 Spring Data 入门

  • 发表了文章 2022-11-22

    Spring JdbcTemplate 快速上手

  • 发表了文章 2022-11-22

    Spring 事务设计与实现

  • 发表了文章 2022-11-22

    Java 分布式事务规范 JTA 从入门到精通(下)

  • 发表了文章 2022-11-22

    Java 分布式事务规范 JTA 从入门到精通(上)

  • 发表了文章 2022-11-22

    Spring 核心特性之表达式(SpEL)

  • 发表了文章 2022-11-22

    一文看懂 Spring IoC 核心特性

  • 发表了文章 2022-11-22

    Spring Boot 自动装配:创建自己的 spring-boot-starter

  • 发表了文章 2022-11-22

    面试官:谈谈你对 Spring Boot 自动装配机制的理解

  • 发表了文章 2022-11-22

    @SpringBootApplication 漫谈,理解 Spring 注解驱动编程

  • 发表了文章 2022-11-22

    Spring Boot 开发环境热部署(HotSwap)详解

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息