自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 IDEA Maven依赖下载失败解决方法

我们本地使用 IDEA 运行 maven 项目的时候,有时候运气不好,就会遇到某些 maven 依赖无法正常找到、导入。这就会导致 IDEA 构建项目的时候爆出一堆醒目的红色 Error。正好最近新拉取一个项目源码,本地运行项目,又碰到这种情况。按照以前的解决经验,捣鼓了一下,发现没办法解决。于是研究了一下午,终于解决这个问题????。吐槽一下,刚开始一度以为是这个项目有问题,找了一个同事,发现他的电脑是却可以正常运行这个项目。那今天这篇的文章,总结一下 IDEA 运行 maven 项目找不到相关

2021-11-03 16:14:16 2299

原创 JDK1.8新特性——Stream流API详解

一 案例引入假如有一个需求,需要对数据库查询的发票信息进行处理:取出金额小于 10000 的发票。对筛选出来的数据排序。获取排序后的发票销方名称。代码:Model@Builder@Datapublicclass Invoice implements Serializable { /** * 销方名称 */ private String saleName; /** * 是否作废 */ private Boolean

2021-09-26 13:13:58 446

原创 SpringBoot项目中使用Spring线程池demo

SpringBoot在启动时自动加载了一个ThreadPoolTaskExecutor的类,这是Spring集成的一个线程池,demo设计了一个controller中的两个方法,一个不使用线程池,一个使用线程池,来对比。@RestControllerpublic class UserController { @Autowired private UserService userService; @Autowired private AnimalService ani.

2021-09-24 23:23:08 562

原创 SpringBoot时间格式化的5种方法

在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法。一 时间问题演示:为了方便演示,我写了一个简单 Spring Boot 项目,其中数据库中包含了一张 userinfo 表,它的组成结构和数据信息如下:项目目录是这样的:UserController 实现代码如下:UserMapper 实现代码如下:UserInfo 实现代码如下:UserMapper.xml 实现代码如下:经过以上内容的编写,我们就制作出.

2021-09-17 13:08:34 472

原创 后端使用List接受前端请求的同名参数的注意事项

一 问题发现在前后端分离的开发中,前端时常会发送同名参数给后端处理,形如:id=1&id=2&id=3或者id=1,2,3 此时后端有3中方式接收String id 1,2,3Integer[] id [1,2,3]List id [1,2,3]最好是使用第三种方式进行接受但是有一个要注意的点就是使用List必须加上@RequestParam 不然会出现一下异常牢记。...

2021-04-27 17:23:39 767

原创 Nginx做反向代理统一开发生产域名访问

1. 引入假定我们目前开发一个分布式项目,我们访问这个项目或者系统在开发阶段通常使用的是host+port的方式进行访问,比如:http://127.0.0.1:9001,但在实际的生产环境中我们通常使用域名进行访问,比如:http://manage.leyou.com 现在我们需要在开发阶段就将进行统一的使用域名进行访问,为什么呢?因为分布式项目中很多配置都跟我们的访问的地址息息相关,诸如跨域配置等等,统一了访问方式后,部署到生产环境就不需要二次修改,其二也可以让项目在开发阶段就更加贴近于实际。

2021-04-25 12:17:49 619

原创 前后端分离项目中的统一异常处理的使用

一 问题引入在前后端分离的项目开发过程中,后端在处理过程需要给前端返回数据结果,这里分两种情况,一种是正常情况(也就是没有发生异常),另一种是发生异常的情况。我们希望不管是正常情况,还是异常情况下,后端都可以给前端不同的响应状态码以及响应内容,这样有利于前端根据不同情况进行业务处理。我们预设这样一个场景,假如我们模拟新增商品,只传一个id,如果id为1则抛出异常。service:@Servicepublic class ItemService { public Long saveIt

2021-04-24 17:27:29 1041

原创 idea导入依赖maven的dependenci列表报红问题解决

我们在打开一个idea的pom文件时,明明仓库有相关依赖,并且maven的仓库配置没有错误,但是maven的dependencies列表却报红,我们可以让idea每次加载pom文件的依赖不从idea的缓存中读取,而是到仓库中拿。1.如下图2. 如果上述步骤不奏效,清除缓存...

2021-04-17 18:24:47 266

原创 Idea启动springboot出现找不到或无法加载主类

1.点击菜单栏的Build选项下的Rebuild Project子选项2.清除缓存Idea版本为2020.3

2021-03-26 13:51:07 301

原创 基于Zookeeper实现分布式锁

收到

2021-03-22 10:53:18 871 4

原创 Tomcat项目发布的三种方式及Intellij IDEA通过tomcat部署web项目的机制

一 Tomcat部署web项目的三种方式方式一:在tomcat安装目录下的webapps下部署将web项目或者war包放在webapps下启动tomcat 点击startup.bat 如果是war包则会自动解压此时在浏览器上输入localhost:8080/项目名即可访问方式二:虚拟目录方式发布优点:不需要复制项目到webapps目录下步骤:修改server.xml中host元素下,添加1个Context子元素,将一个虚拟目录指定服务器上真实的目录<Host name="lo

2021-03-19 13:43:43 282

原创 SpringMVC返回字符串请求转发和response请求转发的区别

@RequestMapping("/redirect") public String redirect(HttpServletRequest request){ System.out.println("重定向"); String contextPath = request.getContextPath(); System.out.println(contextPath); return "redirect:/pages/success.

2021-02-27 22:45:08 372

原创 JavaWeb项目之两个根路径

一 引入:在web项目开发过程中,对于服务器端的请求转发,重定向等,浏览器端的form表单提交,链接跳转的uri访问地址的填写不甚明白,在此做出web站点根目录和web应用根目录的解释和应用场景。二 对两种根目录的理解:web应用根目录:当前web应用的上下文路径:http://localhost:8080/projectName(当前web应用的上下文路径) ,可通过request.getContextPath() 获取到。如:http://localhost:8080/springm

2021-02-27 17:07:28 625

原创 Maven之pom.xml极尽详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对

2021-02-23 00:16:25 156

转载 Spring中id和name的却别以及注意事项

1.id属性命名必须满足XML的命名规范,因为id其实是XML中就做了限定的。总结起来就相当于一个Java变量的命名:不能以数字,符号打头,不能有空格,如123,?ad,"ab "等都是不规范的,Spring在初始化时就会报错,诸如:代码org.xml.sax.SAXParseException: Attribute value “?ab” of type ID must be a name.2.name属性则没有这些限定,你可以使用几乎任何的名称,如?ab,123等,但不能带空格,如"a b","

2021-02-23 00:10:58 300

原创 Spring——ApplicationContext之getBean方法详解

我们知道可以通过ApplicationContext的getBean方法来获取Spring容器中已初始化的bean。getBean一共有以下四种方法原型:getBean(String name)getBean(Class type)getBean(String name,Class type)getBean(String name,Object[] args)下来我们分别来探讨以上四种方式获取bean的区别。其中实体类Person定义如下:public class Person { p

2021-02-23 00:02:07 11886 1

原创 关于Spring读取配置文件${user.name}是操作系统当前用户名的现象

问题引入:在使用Spring引入@PropertySource(“classpath:user.properties”)读取配置文件,使用@Value("${user.name}")取配置文件中的值注入到bean类的成员变量中,测试打印toString发现name的值为操作系统当前用户的名字,而使用${user.home}注入的home属性则是当前用户的根目录。代码:userBean类:@Component("userZero")@PropertySource("classpath:user.pr

2021-02-22 23:12:42 3203 1

原创 IntelliJ Idea 2020 导入外部web模块操作解决大部分代码迁移bug

引入:我们使用idea进行开发学习时,时常需要导入他人的web模块或者项目到我们的idea中运行,经常出现JavaEE版本不匹配,JDK版本不匹配,tomcat版本不匹配的错误,本文将提供两种常见的解决方案。一 CtrlC+CtrlV在工程中创建一个新的web模块,拷贝目标模块的src源码包和web包到自己的模块下,点击全覆盖即可,一比一拷贝,出错概率小。二 在工程结构中配置1.导入目标模块2.配置JDK版本3.配置module版本4.移除目标模块爆红的依赖,添加本地对应的依赖5.添

2021-01-27 17:41:10 661

原创 常见异常之 java.util.NoSuchElementException

一 案列引入自定义学生类:包含姓名,年龄,成绩属性.私有成员变量,生成无参,有参构造方法,生成get/set方法.创建5个学生放到 ArrayList中.使用迭代器获取每个学生信息.统计总分,平均分,最高分,最低分并输出采用技术:ArrayList集合 迭代器二 代码实现 public static void getMaxAndMinScore(ArrayList<Student> lists){ //1.非空校验 if (lists !=

2020-12-25 18:23:27 4620

原创 关于计算机中为什么要从0开始计数?

一 从快速寻址的角度(数组):下标从0开始主要的意义是表示偏移,下面举例:数组为什么起始下标是0?其实数组是一种线性结构,它有一段连续的内存空间,存储一组具有相同类型的数据。如图,拿一个长度为10的int类型数组举例,系统就会为该数据分配一段连续的内存空间,空间大小为40个字节,其中内存块首地址base_address = 100。  数组是可以随机访问的,当访问第i个元素时,需要定位第i个元素的地址,定位公式如下:第i个元素地址=base_address + i * data_type_siz

2020-12-25 14:34:15 1889

原创 关于Integer自动装箱的陷阱(整型数值 -127~128的对象比较问题)

一 上代码举例 Integer i1 = 127; Integer i2 = 127; System.out.println( i1 == i2 ); //输出:true Integer i3 = 128; Integer i4 = 128; System.out.println( i3 == i4 ); //输出:true分析:以上是靠整型数的自动拆装箱实现的,而两者的结果却不相同。原因在于,在进行自动拆装箱时,编译器会使用Integer.valueof()来创建Integer实例。

2020-12-24 14:11:08 384

原创 关于Idea中JDK版本的配置

在Idea中不止是在Settings中设置JDK版本就可以,在Project,module和编译器中也均需要设置。一.Module 最常见配置错的地方:Ctrl+Shift+Alt+S二 Project三 时常被忽视的地方,查看编译使用的jdk版本:Ctrl+Alt+SFinal: 然后重新运行即可。必要时可以修改Maven的setting文件里的jdk版本...

2020-12-21 15:14:47 450

原创 JavaSE-数据类型转换的几个难点学习

一 谈谈int类型数据赋值给long类型变量的特殊定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。**情况一: //此时100默认是int类型,但没有超过int类型表示范围,故不报错 long l1 = 100; System.out.println(l1); System.out.println("-------------");情况二://控制台显示过大的整数,因100000

2020-11-25 14:26:38 253

Redis入门笔记.md

本心得笔记是Redis入门学习的心得分享,介绍了Redis的概念,功能,命令操作,持久化操作和使用Jedis操作Redis数据库并且在文末添加了一个案例进行Redis缓存优化,希望这篇Redis学习之路上的心得体会可以分享给大家,全篇无废话,第一篇笔记希望各位大神指教批评。

2020-08-20

空空如也

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

TA关注的人

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