自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot中实现简单策略模式

策略模式(Strategy Pattern):一个类的行为或其算法可以在运行时更改,策略模式属于行为型模式。本质就是接口实现类多态,本文主要讲述使用SpringBoot框架进行策略模式的简单实现

2023-03-10 11:16:38 434 1

原创 SpringBoot中实现简单观察者模式

观察者模式:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式 。观察者模式是发布订阅模式的一种特殊实现,发布订阅模式是在观察者模式的基础上做的优化升级。

2023-03-09 17:33:58 636

原创 SpringBoot实现简单全局自定义异常

SpringBoot实现简单全局自定义异常

2023-03-09 16:48:32 152

原创 Java8函数式接口与lambda表达式的基本使用

函数式接口即为只定义了一个接口方法(函数)的接口,例如:Runnable接口,JDK8提供多种函数式接口供我们使用,其中比较常见的有:等本文章主要介绍比较常见的函数式接口用法和lambda表达式

2023-02-03 15:26:15 194

原创 Java 8 Optional类的简单使用

jdk1.8可以选择使用 Optional类来优雅地解决空指针异常首先我们要先了解空指针异常是怎么出现的// null调用方法时null.method();// null调用属性时null.attribute;当一个对象,例如一个User对象引用Address对象时,若User对象为空,此时就会报空指针异常一般来说,我们就是一步步排查空对象来定位空指针异常的实体类对象User和Address代码如下public class User { private Add

2022-04-07 19:42:01 516

原创 Docker进阶DockerFile文件

1、DockerFile是什么?DockerFile是用来构建Docker镜像的文件,命令参数脚本构建步骤: 编写DockerFile文件 docker build 命令将其构建成一个镜像 docker run 运行镜像 docker push 发布镜像(Docker Hub、阿里云镜像) DockerFile命令 每个保留关键字都必须是大写字母 执行从上到下顺序执行 #表示注释 每一个指令都会创建提交一个新的镜像层

2022-03-30 10:47:31 227

原创 Docker进阶容器数据卷

Docker容器数据卷可以实现本机的本地文件和Dokcer容器里的文件夹或文件进行双向绑定,从而达到文件同步的效果,这样就不需要每次修改Docker容器配置文件就要进入容器,十分的方便快捷1、基础概念什么是容器数据卷?程序运行是需要数据的,如果数据都在容器中,那么我们容器被删除了,数据就丢失了,例如,使用容器安装MySQL,容器删了,MySQL数据就没了容器数据卷:容器之间可以有一个数据共享的技术,Docker可以将容器中产生的数据,同步到本地为什么要用容器数据卷?容器的持久

2022-03-30 10:40:50 109

原创 将SpringBoot微服务打包成Dokcer镜像

创建一个新的SpringBoot项目,勾选Web依赖配置依赖、HelloWorldpackage com.example.springboothelloworld.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;/** * @author Hu */@RestContro

2022-03-30 10:26:14 108

原创 Docker镜像分层初级探究

Docker镜像 -- 联合文件系统1、Docker镜像是什么?问:镜像是什么?答:镜像是一种轻量级的、可执行的独立软件包,包括代码、运行时、库、环境变量和配置文件所有的应用直接打包docker镜像,直接可以跑起来得到镜像的几种方式: 远程仓库下载 朋友拷贝 自己只做镜像DockerFile UnionFSUnionFS:联合文件系统,我们下载镜像时,看到的一层层的就是这个如果两个镜像有相同的文件,那么第一个下载了,第二个就不用下载了,直接拿第一

2022-03-30 10:19:22 1159

原创 Docker的基本概念和历史发展

1、基本概念Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 仓库(Reposit

2022-03-30 10:11:54 2179

原创 Docker常用命令

docker初级常用命令,包括镜像、容器和其他查看日志进程等命令帮助命令docker version # 显示docker版本信息docker info # 显示docker的系统信息,包括镜像和容器docker 命令 --help # 万能帮助命令1、镜像命令# 查看本地所有的镜像docker images# 查看命令的帮助信息docker images --helpOptions: -a, --all # 列出...

2022-03-30 10:06:50 1474

原创 ElasticSearch入门学习

ElasticSearch分布式全文搜索引擎入门级学习

2022-03-04 18:07:53 2320

原创 Redis的五大数据类型与常用命令

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis提供五种数据类型:String、List,Hash,Set及Zset(sorted set)。1、StringString即字符串类型# 增加append [keyName] [value] # 追加字符串,当前[keyName]不存在则新增,相当与setms.

2022-01-22 23:36:26 1201 1

原创 SSM框架前端访问404,后端不报错,无法进入Controller解决办法

1、检查spring-mvc.xml配置文件是否设置前缀后缀,是否与network中访问的地址一致2、检查Controller返回的路径3、最后检查Project Structure下的Artifacts的WEB-INF文件夹是否有jar包

2022-01-09 13:47:56 5335 13

原创 Mybatis报错:java.lang.ExceptionInInitializerError

这个错误是mapper或者核心配置文件配置问题导致的1、检查是否有在pom.xml中添加build2、检查核心配置文件是否有注册mapper3、检查核心配置文件是否有中文注释,如果有则删除4、检查Mapper.xml中mapper标签的属性namespace的路径是否正确

2021-12-28 11:33:39 464

原创 Vue+SpringBoot前后端分离项目打war包流程与部署到本地的流程

相信很多人第一次使用前后端分离项目打包的时候不知道该怎么做,我也是踩了无数坑最后才成功的,不到最后一刻千万不要放弃!步骤如下1、打包Vue项目cmd中输入命令npm run build后就可打包成功,前提是代码没有报错打包完成后项目路径下会生成一个新的文件夹dist,打包后的东西都在里面2、整合Vue项目和SpringBoot项目将Vue项目dist文件夹下的所有文件Copy到SpringBoot项目的resource/static目录下接下来就是Spring的配置...

2021-12-27 20:07:21 3859

原创 数据库连接池--C3P0与Druid介绍

数据库连接池概念连接池可以看作是一个容器(集合),存放数据库连接对象的容器,当系统初始化好后,容器被创建,容器申请一些连接对象,当用户访问数据库时,从容器中获取连接对象,用户访问完后,会将连接对象归还容器数据库连接池的好处 节约资源 访问高效 数据库连接池技术(第三方实现) C3P0 Druid:德鲁伊,由阿里巴巴实现的 1、C3P02、Druid...

2021-12-23 15:31:04 748

原创 Java中的数据库连接--JDBC

JDBC(Java DataBase Connectivity)即Java数据库连接,就是使用Java语言操作数据库JDBC的本质:官方定义的定义的一套操作所有关系型数据库的规则(即接口)这边使用MySQL数据库进行测试1、快速入门首先新建一个包libs并导入驱动jar包这边使用的是Maven上下载的jar包:mysql-connector-java-5.1.37.jarMaven:https://mvnrepository.com/之后右键点击libs文件夹选择Add asLi

2021-12-23 12:14:15 994

原创 Java中的代理模式(Proxy)

SpringAOP的底层实现就是代理模式,那么代理模式是什么呢?代理分为静态代理和动态代理它们的区别其实就是灵活性,静态代理一般都是写死的代码,而动态代理则是自动生成的,相对来说比较灵活代理的角色: 抽象角色(如:卖房):一般使用接口或抽象类 真实角色(如:房东):被代理的角色 代理角色(如:房产中介):代理真实角色,代理真实角色后,一般会添加额外操作 访问代理的角色(如:我) 1、静态代理情景:我要买房,我找到房产中介,房产中介拿房东的房给我看抽

2021-12-05 17:19:48 349

原创 SpringBoot集成Swagger报错:nested exception is java.lang.NullPointerException,空指针异常

问题:使用SpringBoot集成Swagger后,运行报错:Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException不管用什么版本的Swagger依赖都报个错解决方法:将SpringBoot的版本改为2.5.7后重新运行即可!这时项目运行成功,打开浏览器输入网址即可进入Swagger文档注意:依赖3.0以下的访问:h.

2021-11-25 21:09:59 1878 7

原创 MySQL运行报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)

问题:在命令行输入MySQL命令mysql -u root -p时报错Can't connect to MySQL server on 'localhost' (10061)并且启动MySQL服务也出现错误这说明没有安装MySQL服务器,使用命令mysqld --install安装如果这时候还是无法启动服务,就需要再进行配置,输入mysqld --initialize-insecure这时候再启动mysql服务就成功了还有一个问题就是MySQL登录的时候使用之前设置的密码无.

2021-11-01 18:29:46 234

原创 Tomcat打开start.bat闪退解决办法

1、首先检查Java的环境变量1.1、系统变量中配置JDK和JRE的环境变量1.2、 进入系统变量Path配置环境变量2、配置TomCat的环境变量Path环境变量中新建一个环境变量写入Tomcat目录下的bin文件夹的目录这时再打开Tomcat就可以正常运行了!...

2021-10-06 09:56:46 613

原创 如何设置谷歌浏览器(Google Chrome)的开发者工具的语言

1、首先打开开发者工具2、进入设置界面3、修改语言为中文后重启浏览器

2021-09-28 19:39:41 15098 5

原创 Java cmd命令行传参,往main方法里面传参并输出

首先编写Java代码,简单输出main方法接收到的参数public class testparameter { public static void main(String[] args){ for(int i = 0; i < args.length; i++){ System.out.print(args[i] + "\t"); } }}通过cmd命令javac编译成.class文件并使用java命令运行并传参数可以看到main方法接收到了三个参数并将其输出.

2021-09-22 15:43:53 1026

原创 Java中的反射(Reflection)

反射是Java被视为准动态语言的关键,反射机制允许程序在执行期间借助Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及其方法(包括private关键字修饰的)想要获取或操作类创建的对象的内部属性及其方法,首先就要获取该类的Class对象,该类的Class对象是在初始化的时候创建的1、获得类的Class对象public class TestReflection { public static void main(String[] args) throws

2021-09-21 19:08:34 180

原创 Java中的注解(Annotation)

1、JDK内置注解注解都是定义在java.lang.Override下的 @Override:重写一个方法的注解 @Deprecated:表示不建议使用 @SuppressWarnings:镇压警告,需要传参 等等 2、自定义注解@interface MyAnnotation{}3、元注解:元注解就是用来描述注解的注解import java.lang.annotation.*;@MyAnnotationpublic class TestAn

2021-09-19 19:52:06 89

原创 Class ‘XXX‘ is public, should be declared in a file named ‘XXX.java‘ ERROR发生的原因及解决办法

出现这种错误一般都是自己定义的类名和唯一一个public修饰的类的名称不一致导致的,只需要将该public修饰的类的名称修改成和文件名一样就行了

2021-09-16 21:15:32 46604 5

原创 Java中对象和锁--synchronize和Lock的使用

1、方法声明加上synchronize关键词注意:若不加上synchronize关键词,则线程会不安全,输出的结果有人会拿到第-1张票//解决并发问题,在执行增删改的方法加上关键词synchronizedpublic class TestSyn1 { public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"小明

2021-09-16 09:46:29 140

原创 Java创建线程的四种方式

1、继承Thread类 首先继承Thread类,然后重写run方法,run方法里面写线程的方法体 创建一个主线程,即main方法 在main方法中创建线程对象实例,调用start方法开启线程 注意:不要使用run()方法开启线程public class MyThread extends Thread{ //重写run方法 @Override public void run() { System.out.println("继承Thr.

2021-09-15 21:08:36 1719

空空如也

空空如也

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

TA关注的人

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