自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 idea移除git本地仓库

找到刚刚删除的项目目录并删除.git和.idea文件夹,以及.gitignore配置文件,git的信息才算全部清除。文件 --> 设置 --> 版本控制 --> 目录映射,选择需要移除的目录,点击减号移除当前项目的git配置。可以看到项目文件颜色标记消失右上角也没有了git标识,此时删除本地库操作已经完成了一半。

2023-04-22 10:32:15 5553

原创 Spring Mvc的学习笔记

Spring MVC是一种基于Java的Web应用程序框架,它是Spring Framework的一部分。使用Spring MVC,开发人员可以方便地构建灵活且松耦合的Web应用程序。Spring MVC采用MVC(Model-View-Controller)设计模式,将应用程序逻辑分离成三个主要方面:模型(Model)、视图(View)和控制器(Controller)。这有助于开发人员更好地组织代码,并提高可重用性、测试性和可维护性。

2023-04-21 20:02:34 120

原创 Spring AOP的使用总结

Spring AOP(面向切面编程)是Spring框架中的一个重要模块,它允许开发者通过将横跨多个对象的通用行为进行抽象和封装,来实现应用程序内部的解耦。其核心是切面、连接点和通知等概念。切面描述了一个通用行为要在何处执行,连接点表示切入这个通用行为的所有可能位置,而通知则定义了在连接点处进行拦截扩展逻辑的代码。使用Spring AOP,可以很方便地实现诸如日志记录、性能统计、事务管理等跨越整个应用程序的关注点。值得一提的是,Spring AOP并不依赖于AspectJ语言,但却可以与其无缝集成。

2023-04-20 10:52:54 275

原创 Spring注解的相关使用

Spring框架提供了大量的注解(annotation),这些注解可以帮助开发者更方便地实现IoC(控制反转)和AOP(面向切面编程)等功能,从而让Spring的应用开发更容易。

2023-04-19 08:56:41 352

原创 Spring Bean 实例化的基本流程

Spring Bean 可以是任何的 Java 类实例,其实例化方式可以通过 Spring 配置进行定义,配置方式可以是 XML、Java 注解或者 Java 代码方式。Spring 提供了丰富的功能支持,例如依赖注入(Dependency Injection)、切面编程(Aspect-oriented Programming)、事务处理等。通过这些功能,Spring Bean 可以更好地实现应用程序的松耦合设计和方便测试驱动开发等特性。

2023-04-17 22:05:38 617

原创 SpringBean的配置详解

Spring Bean是Spring框架中的一个基本概念,表示被IOC容器管理和维护的对象。在Spring应用程序中,开发人员将对象定义为Bean,可以通过配置文件或注释的方式告知IOC容器如何创建、配置和管理这些对象。Spring Bean可以包括任何Java类、第三方库、服务等类型的对象。

2023-04-15 22:41:39 337

原创 BeanFactory和ApplicationContext快速入门

ApplicationContext 称为Spring容器,内部封装了BeanFactory,比BeanFactory功能更丰富更强大,使用 ApplicationContext 进行开发时,xml配置文件的名称习惯写成applicationContext.xml

2023-04-15 22:28:27 264

原创 IoC、DI和AOP思想

IoC控制反转,是将程序创建Bean的权利反转给第三方;DI依赖注入,某个完整Bean需要依赖于其他Bean(或属性)的注入;AOP面向切面编程,用横向抽取方法(属性、对象等)思想,组装成一个功能性切面

2023-04-15 09:08:54 174

原创 j2cache的使用总结

j2cache是一个Java分布式缓存框架,旨在提供高速、故障转移和易于配置的缓存解决方案。它支持多个缓存模式,包括本地缓存和分布式缓存,并且具有灵活的配置选项,可以根据需要进行调整。j2cache还提供了完整的API以及与Spring Framework集成的支持,使其易于使用和扩展。

2023-04-14 08:49:11 656

原创 异常统一处理的使用总结

软件开发过程中不可避免的需要处理各种异常,代码中会出现大量的try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。Spring从3.2版本开始增加了一个注解@ControllerAdvice,可以与@ExceptionHandler、@InitBinder、@ModelAttribute 等注解配套使用,可以统一进行异常处理。

2023-04-13 23:15:07 86

原创 自定义参数解析器的使用总结

Spring MVC框架是一个基于MVC模式的web应用程序框架,它提供了许多实用工具和组件来简化Web开发。在Spring MVC中,参数解析器(Argument Resolver)是一项核心功能,它负责将HTTP请求中的参数绑定到Controller方法的参数上。

2023-04-13 20:20:28 404

原创 Spring Event的使用总结

Spring Event是Spring Framework中的一个重要特性,用于处理事件驱动编程模型下的交互。它通过使用发布/订阅模式或观察者模式,使应用程序在不同模块之间实现松散的耦合。

2023-04-09 23:24:36 767

原创 Logback的使用总结

Logback是一个流行的Java日志框架,它是log4j项目的作者设计的下一代日志框架,旨在解决log4j的一些缺点和不足。与log4j相比,Logback具有更高的性能和更丰富的特性,可以帮助开发人员更好地控制和管理应用程序的日志。

2023-04-09 20:06:02 355

原创 Java代码块的使用总结

Java代码块是一段被大括号{}包围的代码片段,也称为代码区域或代码段。Java代码块有三种类型:静态代码块、实例代码块和局部代码块。

2023-04-09 11:44:06 142

原创 AntiSamy的使用总结

AntiSamy是一个Java库,用于防止跨站脚本攻击(XSS)和其他HTML / CSS注入攻击。它工作的方式是检查HTML代码并剥离其中的所有不安全内容,以防止攻击者向网站注入恶意代码。AntiSamy提供了多种配置选项和规则,以确保你的网站可以在安全的环境下运行。由于AntiSamy是用Java编写的,因此它可被用于任何Java技术堆栈,如Java Servlet,JavaServer Pages(JSP)和JavaServer Faces(JSF)等。

2023-04-09 10:41:45 1280

原创 Hibernate Validator的使用总结

Hibernate Validator 可以与任何 Java 应用程序集成,并且可以与各种框架一起使用,例如 Spring、Java EE 和 Struts。使用 Hibernate Validator,开发者可以轻松地在应用程序中实现验证功能,从而提高数据的准确性和安全性。

2023-04-08 16:29:38 727

原创 dozer的使用总结

Dozer是一种Java Bean-to-Bean映射框架,它允许简单而灵活地配置Java对象之间的字段映射。Dozer可以映射同一类型的不同对象、不同类型之间的对象、以及对象之间的集合。它还支持许多高级映射选项,例如自定义转换器和逐级映射。Dozer可以用于许多不同的应用程序,包括DAO和WebService。

2023-04-08 09:14:33 1077

原创 knife4j的常用操作总结

Knife4j是一种增强解决方案,可用于在Java MVC框架中集成Swagger生成API文档。它的前身是Swagger-bootstrap-ui,而取名为Knife4j是因为它像一把小巧轻量且功能强大的匕首一样。底层是对Springfox进行封装,因此用法与Springfox一致,但界面进行了优化。

2023-04-07 13:31:12 329

原创 Swagger2的常用操作总结

Swagger是一种API文档工具,用于设计、构建、编写和测试API。它提供了一种简化的方式来创建和维护具有可读性和可交互性的API文档。Swagger包括许多特性,如自动生成文档、代码示例、尝试API、API版本控制等。通过使用Swagger,可以更快速、更简单地设计和测试API,同时提高API文档的可读性和交互性,为客户和开发人员提供更好的体验。

2023-04-07 00:05:17 160

原创 lombok常用注解

lombok常用注解

2023-04-05 17:13:12 63

原创 HTML img标签识别base64图片格式

HTML img标签识别base64图片格式

2023-04-05 15:06:44 5708

原创 Java Arrays的常用操作总结

Java Arrays是Java语言中的一个数组类,它提供了一系列的方法用于操作数组。Arrays类包含了排序、搜索、复制、比较、填充等方法,这些方法可以使操作数组更加简单高效。它拥有很多静态方法,可以方便地对数组进行各种操作,比如查找最大值、最小值等。Arrays还支持多维数组,并且可以用于基本数据类型与对象类型数组的操作。

2023-04-02 21:04:53 617

原创 Java Iterator的常用操作总结

Java Iterator是Java编程语言中的接口,用于遍历集合类(如List、Set、Map等)中的元素。

2023-04-02 16:55:24 397

原创 Java HashMap的常用操作

Java HashMap是一种数据结构,它是基于哈希表的实现。它允许你在O(1)的时间内查找、插入和删除键值对。具体地说,它将键和值存储在一个数组中,并使用哈希函数来计算每个键在数组中的索引位置。如果两个不同的键具有相同的哈希值,它们将被存储在同一个位置,HashMap在这种情况下使用链表来处理冲突来储存键值对。域键和值之间没有顺序关系。HashMap在Java编程中被广泛使用,因为它提供了高效的查找和插入操作。

2023-04-02 16:42:52 2630

原创 Java HashSet的常用操作总结

Java HashSet是Java集合框架中的一种数据结构,它实现了Set接口,并基于哈希表(Hash Table)实现。HashSet中存储的元素是唯一的且无序的,它不允许存储重复元素,可以存储null值。HashSet提供了一些方法来添加、删除和检查元素是否存在。由于它的实现依赖哈希表,所以HashSet对于大量数据的查找和插入操作具有较高的性能表现。

2023-04-02 13:07:50 694

原创 LinkedList入门教程

Java LinkedList是一种双向链表数据结构,可以用于存储和操作元素列表。它具有快速的插入和删除性能,但在访问特定元素时可能比数组慢。

2023-04-02 12:12:06 717

原创 Java ArrayList 常用操作总结

本文主要总结了Java ArrayList常用的操作,包括添加元素、获取元素、删除元素等操作。文章首先介绍了什么是ArrayList以及它的优点,然后详细介绍了如何创建ArrayList对象和如何向ArrayList中添加元素。接着,文章说明了如何获取ArrayList中的元素以及如何修改和删除元素。最后,文章总结了一些常见问题,提供了解决方案和注意事项,以便读者更好地使用Java ArrayList。

2023-04-01 23:29:29 1811 1

原创 Java IO:文件读写、流操作与常用技巧

Java IO提供了许多用于文件读写和数据流操作的类和接口,本文将介绍如何使用这些工具来处理输入输出操作。首先,我们将讨论File类,它允许您在Java程序中操作文件和文件夹。我们还将介绍如何使用Java输入输出流(InputStream和OutputStream)和字符输入输出流(Reader和Writer)来读写数据。我们将研究各种不同类型的流,包括字节流、字符流和缓冲流,并介绍如何使用它们来优化性能。

2023-04-01 19:22:11 11834

原创 解决IDEA控制台乱码问题

解决IDEA控制台乱码问题

2023-03-25 11:20:00 104

原创 Vue路由跳转后滚动条没有回到最上方的解决方法

滚动行为使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。const router = new VueRouter({ routes: [...],// 当路由跳转后滚动条所在的位置 scrollBehavior (to, from, savedPosition) { // return 期望滚动到哪个的位置 return { x: 0, y: 0 }

2022-01-11 16:35:49 1405

原创 JavaScript随机打乱数组

实现洗牌函数(随机打乱数组) let arr = [1, 2, 3, 4, 5] // 随机数函数 function getRandomNum(min, max) { // 返回[min, max]之间的随机数 return Math.floor(Math.random() * (max - min + 1) + min) } // 洗牌函数 function shuffle(array) { let newArr = ar

2021-07-30 14:37:35 1654

原创 使用JavaScript获取元素样式值

js获取元素样式值// 通过getComputedStyle获取DOM元素上所有样式。 <button>click</button> <script> const but = document.querySelector('button') const butStyle = getComputedStyle(but) console.log(butStyle); // 输出but上所有的样式。 console.log(butSty

2021-07-29 18:08:16 212

原创 错误使用Promise造成回调地狱的解决方法

错误使用Promise造成回调地狱的解决方法Promise是解决回调地狱的方法,如果使用不当最后还是会造成回调地狱。// 模拟三次异步任务 function r1() { return new Promise((resolve, reject) => { resolve("r1"); }); } function r2() { return new Promise((resolve, reject) => {

2021-07-28 19:38:41 118

原创 JavaScript异步任务的异常处理方法

JavaScript异步任务的异常处理方法 function r1() { try { r2() // 因为r2函数是异步任务,晚于同步任务 } catch (error) { console.log(error); // 捕获不到r2函数抛出的错误 } console.log('r1'); // 先执行同步任务 }// 用setTimeout模拟异步任务 function r2() {

2021-07-28 15:22:30 412 1

原创 JavaScript字符串,数组,Math常用方法

字符串方法slice(start,end):返回字符串中提取的子字符串// 截取字符串时不包括下标为end的元素。// end是可选参数,没有时,默认从start到结束的所有字符串。var str="Hello World";var str1=str.slice(1); // 如果只有一个参数,则提取开始下标到结尾处的所有字符串var str2=str.slice(2,8); // 两个参数,提取下标为2,到下标为8但不包含下标为8的字符串var str3=str.slice(-7,-2);

2021-07-12 19:07:45 933

空空如也

空空如也

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

TA关注的人

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