Java框架
文章平均质量分 93
此专栏,主要介绍 Java各种框架相关内容,包括但不限于 Spring 全家桶、MyBatis/Hibernate、Netty、Shiro 等内容。
栗筝i
海到无边天作岸,山登绝顶我为峰。期待更好的自己
展开
-
高性能 Java 本地缓存 Caffeine 框架介绍及在 SpringBoot 中的使用
Caffeine 是一个用于 Java 的缓存库,其设计目标是高性能,和近乎最佳的命中率。缓存库的主要功能是存储和快速检索数据,以减少直接访问数据源(例如数据库或远程服务)的次数,从而提高应用程序的性能。Caffeine 的 “高性能” 表示它在处理缓存操作时速度很快,并且占用的资源较少。“近乎最佳的命中率” 指的是 Caffeine 在缓存命中(即请求的数据已经存在于缓存中)方面表现非常出色。高命中率意味着大多数数据请求都可以直接从缓存中获得,而无需访问原始数据源,从而大大提高了效率和响应速度。原创 2024-07-26 18:36:31 · 1026 阅读 · 96 评论 -
Maven 插件列表详解
Maven 是一个强大的项目管理和构建工具,广泛应用于 Java 项目中。作为一款优秀的构建管理工具,Maven 不仅提供了标准化的项目结构和依赖管理,还通过其丰富的插件系统,极大地扩展了其功能和灵活性。无论是代码编译、测试、打包,还是部署、报告生成,Maven 插件都扮演着不可或缺的角色。本文将深入探讨 Maven 的插件体系,详细介绍各类插件的用途、主要目标和适用的生命周期阶段。内容涵盖了 Maven 官方插件、被淘汰的插件、社区驱动的 MojoHaus 插件、国内外企业开发的非官方插件以及如何自定原创 2024-06-19 07:44:47 · 1553 阅读 · 42 评论 -
Maven 的生命周期详解
Maven 是目前最流行的项目管理和构建工具之一,广泛应用于 Java 开发项目中。它通过一系列约定和配置,极大地简化了项目的构建、依赖管理和生命周期管理。其中,Maven 的生命周期是其核心概念之一,贯穿了项目从构建、测试、打包到部署的整个过程。理解和掌握 Maven 的生命周期,不仅能够提高构建效率,还能帮助开发者更好地控制项目的各个阶段。本文将全面解析 Maven 的生命周期,详细介绍每个生命周期阶段及其执行规则。通过本文的学习,读者将能够深入理解 Maven 的生命周期机制,从而更好地应用于实际原创 2024-06-19 07:43:44 · 1772 阅读 · 99 评论 -
Maven 核心插件 maven-resources-plugin 使用详解
资源插件负责将项目资源到输出目录。Maven 项目有两种不同的资源:主资源和测试资源。区别在于,主资源(默认在目录)是与主源代码(位于目录下)关联的资源,而测试资源(默认在目录)与测试源代码(位于目录下)关联。从 2.3 版本开始,该插件可以使用 Maven 过滤组件来过滤资源。资源插件将resource元素所指定的文件复制到输出目录。以下三个插件目标仅在指定资源和输出目录的 XML 元素的方式上有所不同。:将主资源目录中的资源复制到构建输出目录,并支持过滤;:将测试资源目录中的资源复制到构建输出目录。原创 2024-06-14 07:00:00 · 1766 阅读 · 3 评论 -
Maven 核心插件 maven-clean-plugin 使用详解
用于尝试清除项目工作目录中因构建而生成的文件。默认情况下,它会发现并删除在和所配置的目录。通过配置元素也可以删除默认目录以外的文件。原创 2024-06-08 13:05:05 · 1507 阅读 · 0 评论 -
maven-shade-plugin - 解决 Jar 包冲突新思路
maven-shade-plugin 是 Maven 官方网站中提供的一个插件,官方文档中定义其功能如下:简单来说就是将依赖的包在 Package 阶段一起打入 Jar 包中,以及对依赖的 Jar 包进行重命名从而达到隔离的作用。这里为了解决上面的问题我们主要使用第二个功能特性,使得相同依赖不同版本达到共存的目的。原创 2024-06-06 07:45:00 · 1982 阅读 · 3 评论 -
SpringBoot:模块探究之spring-boot-starters
Spring Boot Starters 是一组方便的依赖描述符,您可以将它们包含在您的应用程序中。您可以获得所需的所有 Spring 和相关技术的一站式服务,而无需搜索示例代码和复制粘贴大量依赖项描述符。例如,如果想使用 Spring 和 JPA 进行数据库访问,只需将 spring-boot-starter-data-jpa 这一依赖项包含在项目中就可以开始了。原创 2022-12-24 11:00:00 · 2730 阅读 · 10 评论 -
SpringBoot:模块探究之spring-boot-devtools
Spring Boot 使我们能够快速设置和运行服务。为了进一步增强开发体验,Spring 发布了 spring-boot-devtools 工具——作为 Spring Boot-1.3 的一部分spring-boot-devtools 是 Spring Boot 提供的一组开发工具,可以提高开发者的工作效率,开发者可以将该模块包含在任何项目中,spring-boot-devtools 最方便的地方莫过于热部署了。原创 2022-12-23 11:00:00 · 3696 阅读 · 28 评论 -
SpringBoot:模块探究之spring-boot-dependencies
在 SpringBoot 开发时,我们常常会发现一个现象:即在 pom 文件中,加入一个新的依赖,往往不需要引入相应的版本号(如下代码块所示),就可以正常引入依赖,这其实是因为我们依赖了 spring-boot-starter-parent 模块的缘故!点 spring-boot-starter-parent 进去查看源文件会发现,spring-boot-starter-parent 继承了 spring-boot-dependencies!原创 2022-12-22 11:00:00 · 9659 阅读 · 26 评论 -
SpringBoot:模块探究之spring-boot-cli
Spring Boot CLI 是运行 SpringBoot 命令的命令行工具,能够帮助你快速的构建 Spring Boot 项目。只需要编写简单的 groovy 脚本,即可用最少的代码构建并运行一个完整的 Spring Boot 项目。原创 2022-12-21 11:36:18 · 2543 阅读 · 9 评论 -
SpringBoot:模块探究之spring-boot-autoconfigure
顾名思义,Autoconfigure 就是自动配置的意思,SpringBoot 通过 spring-boot-autoconfigure 体现了 “约定优于配置” 这一设计原则!spring-boot-autoconfigure 也是 SpringBoot 最重要的模块之一!SpringBoot 则可以依据 classpath 里面的依赖内容来自动配置 Bean 到 IOC 容器,Auto-configuration 会尝试推断哪些 Beans 是用户可能会需要的。比如如果HSQLDB 包在当前 cla原创 2022-12-14 12:16:05 · 6122 阅读 · 12 评论 -
SpringBoot:模块探究之spring-boot-actuator
spring-boot-actuator 模块 是 spring-boot 用来查询或监控项目中各种组件、维度的度量指标(如:环境变量信息、日志级别、SpringBean 信息、组件(Redis、Mq、DB)健康状态)时使所用的模块。此外 spring-boot-actuator 模块 还会向外提供系统运行的情况(如程序是否存活、Jvm 状态)等相关信息。我们可以通过使用 Http 或 Jmx 的方式来使用 spring-boot-actuator。原创 2022-12-13 11:20:26 · 1832 阅读 · 11 评论 -
SpringBoot实战:整合Swagger3实现在线Api文档
Swagger-UI 是 HTML、Javascript、CSS 的一个集合,可以动态地根据注解生成在线 Api 文档;swagger-bootstrap-UI 则可以美化 swagger-ui,页面更清爽!本篇就是实现 SpringBoot 整合 Swagger3 实现在线 Api 文档。本篇内容包括:项目介绍与条件准备、项目搭建与构造、效果验证原创 2022-12-10 12:17:23 · 2198 阅读 · 2 评论 -
SpringBoot实战:整合MapStruct实现数据类型转化
MapStruct 是一个代码生成器,它基于约定优于配置方法极大地简化了 Java bean 类型之间映射的实现。自动生成的映射转换代码只使用简单的方法调用,因此速度快、类型安全而且易于理解阅读;本篇就是实现 SpringBoot 整合 MapStruct 实现数据类型转化。本篇内容包括:项目介绍与条件准备、项目搭建与构造、效果验证原创 2022-12-09 19:13:23 · 2771 阅读 · 4 评论 -
SpringBoot实战:整合MyBatis搭建基本骨架
这篇开始,开始进行 SpringBoot 框架功能的具体实现,本篇是 SpringBoot 整合 MyBatis 搭建基本骨架;本篇内容包括:项目介绍与条件准备、项目初始搭建与构造、效果验证原创 2022-12-09 11:28:16 · 2322 阅读 · 3 评论 -
SpringBoot:核心模块盘点
spring-boot-project 是 spring-boot 核心技术包,其中包含了 spring-boot 所有基础源码,其中很多模块都是我们了解 spring-boot 的重点。本篇内容包括:spring-boot-project 包介绍、Spring Boot 核心模块原创 2022-12-08 21:29:54 · 2175 阅读 · 5 评论 -
SpringBoot:概述
Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。本篇内容包括:Spring Boot 概述、Spring Boot 约定优于配置、Spring Boot 演进之路原创 2022-12-08 10:39:30 · 2205 阅读 · 5 评论 -
系统学习SpringFramework:循环依赖与三级缓存
本篇内容包括:Spring 中的循环依赖问题(包括 Spring 中的循环依赖问题和Spring 中的循环依赖的 5 种场景的介绍)、Spring 三级缓存介绍、4 个 Spring 无法自动解决的循环以来场景以及其对应的手动解决方式。原创 2022-11-04 08:31:05 · 3404 阅读 · 22 评论 -
系统学习SpringFramework:SpringBean的注入方式
本篇内容包括:Spring 容器简介(什么是容器、容器如何工作)、SpringBean 注入方式(SpringBean 注入方式分类、@Autowiring 自动绑定)以及 获取 Spring Bean 的工具类!原创 2022-11-03 17:09:56 · 3029 阅读 · 7 评论 -
系统学习SpringFramework:SpringBean的生命周期
本篇内容包括:SpringBean的生命周期的四个主要步骤(即 实例化 Bean,填充属性(DI),初始化,销毁)、BeanDefinition 的概念 以及 BeanFactoryPostProcessor 和 BeanPostProcessor 的相关内容。原创 2022-11-03 10:48:12 · 3129 阅读 · 5 评论 -
系统学习SpringFramework:Spring AOP
本篇内容包括:Spring AOP 概述(AOP 简介、AOP 为什么叫面向切面编程、AOP 主要用来解决的问题 和 AOP 的相关术语)、Spring AOP Demo(xml 方式、注解方式)以及相关知识点(JDK 动态代理和 CGLIB 代理、Spring AOP 和 AspectJ AOP、@Aspect、@Pointcut、@Around 注解)等内容!原创 2022-11-02 16:21:54 · 3325 阅读 · 16 评论 -
Spring源码:Spring源码阅读环境搭建
本篇内容包括:Mac 环境下 gradle 的安装和配置、源码克隆、新建测试类,测试Spring源码 等内容!原创 2022-11-02 12:51:18 · 2750 阅读 · 7 评论 -
系统学习SpringFramework:Spring IOC
本篇内容包括:IOC 和 DI 的概念、Spring 容器,即 BenaFactory 与 AplicationConext 等 IOC 相关内容。原创 2022-11-01 19:08:33 · 3880 阅读 · 11 评论 -
系统学习SpringFramework:Spring 概述
本篇内容包括:Spring/SpringFrame 概述、Spring IOC 和 AOP 概述、Spring 全家桶内容概述(包括:Spring Boot、Spring Cloud、Spring Cloud data flow ...)等内容!原创 2022-11-01 11:24:22 · 4253 阅读 · 5 评论 -
MyBatis:缓存机制详解
本篇内容包括:MyBatis 缓存机制概述、一级缓存与二级缓存的介绍、配置和具体流程。原创 2022-10-26 17:56:09 · 3550 阅读 · 7 评论 -
MyBatis:映射配置文件
本篇内容包括:映射配置 Demo、 select 语句属性详解、resultType&resultMap 注解的使用、 #{} 与 ${} 的区别、动态 SQL 相关标签(if、where、set等)以及MyBatis 映射关联查询(一对多、多对一、多对多)。原创 2022-10-26 13:26:16 · 5074 阅读 · 4 评论 -
MyBatis:核心配置文件
本篇内容包括:MyBatis 配置文件概述以及核心配置文件详解(configuration、properties、settings、typeAliases、typeHandlers、objectFactory等)的内容。原创 2022-10-25 21:51:19 · 3499 阅读 · 1 评论 -
MyBatis:基础入门
本篇内容包括:MyBatis 简介、MyBatis 工作原理\执行流程、原生 Jdbc 存在的问题、MyBatis 与 Hibernate 的对比以及一个 MyBatis demo。原创 2022-10-25 19:16:04 · 2967 阅读 · 1 评论