-
【Java】深入理解SPI机制
摘要:一、什么是SPI SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。 这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI
阅读全文
-
【Gradle】maven-publish插件的使用
摘要:一、maven-publish介绍 在 Gradle 1.3 中,引入了一种新的发布机制。这种新机制引入了一些新概念和功能,这些功能使 Gradle 发布变得更加强大,现在已成为发布工件的首选选项。 二、maven-publish使用 1、在 build.gradle 声明插件 plugins {
阅读全文
-
【Gradle】快速入门
摘要:一、Gradle简介 Gradle是源于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置面向Java应用为主。当前其支持的语言暂时有Java、Groovy、Kotlin和Sca
阅读全文
-
【Java】class.jar和sources.jar及javadoc.jar 三种jar包
摘要:一、普及jar包知识 例如(举例子解释) 类文件(.class) test-java-1.0-SNAPSHOT.jar 文档包(API) test-java-1.0-SNAPSHOT-javadoc.jar 资源包(code) test-java-1.0-SNAPSHOT-sources.jar 二
阅读全文
-
【Spring】手写 SpringMVC 框架(十九)
摘要:参考:https://blog.csdn.net/qq_22130209/article/details/109239242 参考:https://blog.csdn.net/litianxiang_kaola/article/details/86646947
阅读全文
-
【Spring】SpringMVC 实现原理(十八)
摘要:一、SpringMVC 初始化 初始化过程和Web容器初始化过程一样,参考:【Spring】Web容器初始化过程(十七) 具体初始化分析 由上图可知 1、ContextLoaderListener 上下文加载监听器初始化的时候,会初始化Spring容器,对应的配置文件就是Spring的配置文件,主要
阅读全文
-
【Spring】Web容器初始化过程(十七)
摘要:一、初始化过程图 上图展示了web容器初始化的过程,其官方文档给出了这样的描述: When a web application is deployed into a container, the following steps must be performed, in this order, be
阅读全文
-
【设计模式】解释器模式
摘要:一、定义 解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。 二、结构 解释器模式的结构 解释器模式包含以下主要
阅读全文
-
【设计模式】备忘录模式
摘要:一、定义 备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。 二、结构 备忘录模式的结构 备忘录模式的主要角色如下。 1)发起人(Originator)角色:记录当前时刻
阅读全文
-
【设计模式】访问者模式
摘要:一、定义 访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式 二、结构 访问者模式的结
阅读全文
-
【Junit】Junit 与 SpringMVC 整合测试
摘要:本章介绍使用 Junit4 测试 SpringBoot,关于 Junit4 的基本使用 参考:【Junit】Junit快速入门 关于SpringMVC项目搭建参考,参考:【Maven】Eclipse 使用Maven创建SpringMVC Web项目 一、项目框架 1、新建一个SpringMVC项目
阅读全文
-
【Java】IDEA 之 Smart Tomcat 插件的使用
摘要:在开发Java Web项目的时候,需要使用Tomcat来运行发布项目 IntelliJ IDEA Community社区版是一个简版,是没有集成Tomcat的。可以通过插件的方式把tomcat的环境集成到IDEA社区版中,其中插件可以是Smart Tomcat。 1、安装Smart Tomcat插件
阅读全文
-
【设计模式】迭代器模式
摘要:一、定义 迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 二、结构 迭代器模式的结构 迭代器模式主要包含以下角色。 1)抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口。 2)具体聚合(Conc
阅读全文
-
【Junit】Junit 与 SpringBoot 整合测试
摘要:本章介绍使用 Junit4 测试 SpringBoot,关于 Junit4 的基本使用 参考:【Junit】Junit快速入门 关于SpringBoot的使用,参考:【SpringBoot】SpringBoot快速入门(一) 一、项目框架 1、搭建一个Maven项目,引入 springboot依赖
阅读全文
-
【设计模式】中介模式
摘要:一、定义 中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。 二、结构 中介者模式的结构 中介者模式包含以下主要角色。 1)抽象中介者(Mediator)角色:
阅读全文
-
【设计模式】观察者模式
摘要:一、定义 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 二、结构 观察者模式的结构 观察者模式的主要角色如下。 抽象主题(Subje
阅读全文
-
【Spring】声明式事务实现原理(十六)
摘要:一、声明式事务的使用 参考:【Spring】Spring事务管理实现方式(十五) 二、声明式事务的图 1、类图 2、原理图 3、事务对象图
阅读全文
-
【设计模式】状态模式
摘要:一、定义 状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 二、结构 状态模式的结构 状态模式包含以下主要角色。 环境类(Context)角色:也称为上下文,它定义了客户端需要的接口,内部维护一个当前状态,并负责
阅读全文
-
【Spring】Spring事务管理实现方式(十五)
摘要:一、Spring事务管理实现方式 按是否通过编程分为声明式事务和编程式事务 声明式事务: 声明式事务:通过AOP(面向切面)方式在方法前使用编程式事务的方法开启事务,在方法后提交或回滚。用配置文件的方法或@(如:@Transactional)控制事务。 通过XML配置或者注解实现。 编程式事务: 手
阅读全文
-
【Spring】Spring事务的概念(十四)
摘要:可以先了解JDBC事务,参考: 【Java】JDBC事务 一、Spring事务的理解 1、事务的定义 事务(Transaction):是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,数据库能将逻辑相关的一组操作绑定在一起,以便服务器保持数
阅读全文
|