自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis自定义TypeHandler,直接存储枚举类对象

Spring自定义TypeHandler,直接保存枚举类 数据库保存数字值

2024-09-22 12:08:41 819

原创 Spring后端直接用枚举类接收参数,自定义通用枚举类反序列化器

Spring自定义通用枚举反序列化器,前端传数字,后端直接用枚举类型接收

2024-09-22 10:27:59 1168

原创 Spring自定义参数解析器

Spring自定义参数解析器 HandlerMethodArgumentResolver

2024-09-21 20:05:56 547

原创 Spring参数解析器、消息转换器

Spring参数解析器、消息转换器,HandlerMethodArgumentResolver 和 HttpMessageConverter

2024-09-18 23:35:21 935

原创 Spring数据类型转化

Spring内置Converter讲解、自定义Converter

2024-09-01 10:59:44 1080

原创 BeanDefinition的解析时机

传统的SpringMVC项目允许标签和注解(@Configration)同时存在,从标签和注解中解析BeanDefinition的时机是不一样的。

2024-01-21 16:52:55 909

原创 Tomcat处理请求线程数、最大连接数配置

Tomcat处理请求数、最大连接数配置

2024-01-07 11:36:38 830 1

原创 Cookie与Header

Cookie和Header

2022-11-13 14:33:28 1395 1

原创 @ControllerAdvice和ResponseBodyAdvice

@ControllerAdvice与ResponseBodyAdvice

2022-07-09 12:43:20 1565 1

原创 cp 命令覆盖文件夹和文件

linux中cp命令覆盖原有文件

2022-06-18 15:59:57 8679

原创 SpringAOP的介绍

介绍SpringAOP

2022-06-05 21:24:57 284

原创 SpringBoot中使用@JsonFormat无效

日期格式数据入库对于日期格式的数据,一般前台会传入一个13位的Long类型,在Controller中使用@RequestBody可以将long类型的数据直接转换成Date类型,存入数据库时也不需要做额外的工作。日期格式查询当我们需要查询日期信息时,一般会将其转换成宜读格式,如"yyyy-MM-dd"格式。此时可以直接在实体类字段上加上@JsonFormat(pattern = “yyyy-MM-dd”),如下:class Stu { @JsonFormat(pattern = "yyyy-MM-d

2022-05-18 18:03:19 12033

原创 SpringBoot请求处理流程

正常流程DispatcherServlet#doDispatch请求处理流程可以参照DispatcherServlet的doDispatch方法。将其简化如下:public void doDispatch() { try { try { getHandler();//获取拦截器和处理器 applyPreHandle();//应用前置拦截器 handle();//执行处

2022-04-16 23:00:40 1029

原创 SpringBoot引入hibernate.validator参数校验

添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>或者 <dependency> <groupId>o

2022-04-10 18:39:34 4663

原创 Web项目结构

常见项目结构SpringMvc中处理静态资源在SpringMvc中处理静态资源时,在设置资源路径时可以有两种方式,一种是从webapp目录下找,以/开头,另一种是以classpath开头,标识从类路径下找,是一种简便写法,可以用第一种方式替换。WEB-INF的含义WEB-INF里面放不允许客户端访问的资源,比如我们的class文件、配置文件、三方依赖。允许客户端访问的资源不应该放在这。所以推荐结构为:...

2022-02-26 11:00:02 817 1

原创 Java 多态

Java对象,在调用方法时,会根据方法的实际类型决定具体调用哪个方法,这种机制叫动态绑定,也叫多态。这里总结几个注意点静态方法,私有方法,final方法,构造方法不具备多态条件因为这些方法一定不会被重写,在编译期就能确定具体会调用哪个方法被重写的方法才具有多态性在运行时根据调用对象的实际类型确定具体调用哪个方法通过 【实例.属性】的方式获取属性值时,是根据实例的类型决定具体获取父类的属性还是子类的属性。父类和子类可以拥有相同名称的属性,它们的类型可以不同。在方法(不管该方法是否具有多态性)中使

2022-01-07 18:06:38 203

原创 nginx反向代理中的/

nginx在前后端分离项目中常用作反向代理服务器。在配置的过程中有一些细节需要注意location会被完全替换加入有如下配置location /api/ { proxy_pass http://serverIp:port/someProject; }前端发起请求http://localhost:80/api/get那么代理之后的url是http://serverIp:port/someProjectget因为原url中/api/被完全替换了,所以l

2021-12-11 23:34:02 443

原创 nginx发布多个项目

用nginx发布多个前端项目

2021-12-11 21:58:54 2043

原创 hostNetwork与ingress-nginx高可用

k8s1.21搭建ingress-nginx高可用集群

2021-12-11 17:19:17 4075

原创 k8s1.21 安装ingress-nginx

k8s, ingress-nginx,Deployment+NodePortk8s的ingress-nginx可以通过只占用node的两个端口(分别是http和https)来发布多个服务,而nodePort类型的Service,有几个服务就需要占用node几个端口,不利于端口管理。所以今天我们就来安装ingress,并且发布两个服务。

2021-12-11 12:43:39 4606

原创 SpringBoot常见的Bean生命钩子函数执行顺序

分界点 -> 构造函数自动注入一般在构造函数之前,比如@Autowired、@Value、@Resource等;在构造函数之后的主要有:@PostConstruct修饰的方法InitializingBean的afterPropertiesSet()方法@Bean的initMethod属性指定的方法那么这三个钩子函数的先后顺序优势怎样的呢?interface S extends InitializingBean { void init();}@Bean(initMet

2021-12-09 10:28:00 985

原创 isInterrupted、interrupt和interrupted

由易到难开始介绍吧isInterrupted最容易理解的,查看线程是否被打断,没有副作用。可以自己询问自己,也可以在A线程中询问B线程。 Thread A = new Thread(() -> { //自己询问自己 Thread.currentThread().isInterrupted(); },"A"); A.start(); Thread B = new Thread(() -&gt

2021-11-19 23:44:54 829

原创 ThreadLocal

作用保证共享变量线程安全原理通过为每个线程创建资源备份,使得线程之间不再竞争唯一的资源解释class User{ public String nameNotSafe = ""; public ThreadLocal<String> nameSafe = new ThreadLocal<>();}当多个线程操作同一个User对象时,nameNotSafe是真的只有一份,谁都可能修改它,它线程不安全;当线程修改nameSafe时,这个nameSafe也是只

2021-11-19 17:20:50 318

原创 Log4j2注意点

前提约定日志级别由低到高: Trace < Debug < Info < Warn < ErrorLogger、Appender和PatternLayout数量关系Logger : Appender = 1 : nAppender : PatternLayout = 1 : 1一个Logger可以有多个Appender,一个Appender只允许有一个PatternLayout。<Console name="console" target="SYSTE

2021-11-14 21:35:02 310

原创 k8s发布vue、springboot项目

前提你已经有了一个k8s集群,如果没有,可以参考CentOS7搭建k8s集群预期效果前端、后端和数据库分别通过三个Service表示,相互之间通过Service的CLUSTER-NAME:port来相互访问,而不是通过CLUSTER-IP:port来相互访问,因为每次重新部署Service,CLUSTER-IP都会变。思路前端:nginx + vue创建镜像后端:Java + springboot项目创建镜像数据库:MySQL镜像难点:前端怎么访问后端?后端怎么访问数据库?nginx肯定要

2021-10-10 11:03:11 555

原创 nodePort、port、targetPort和containerPort

containerPort用在deployment的container标签下,与Dockerfile文件中EXPOSE的端口应一致nodePort、port、targetPort用在service组件中nodePort:k8s服务对外暴露服务的端口,暴露之后,可以对外提供服务port:k8s服务之间相互访问的端口targetPort:当一个pod中有多个容器时,Service怎么知道要选择哪个容器的端口呢?就是根据targetPort来确定。一般来说targetPort应该是对外提供服务的容器的端口

2021-10-10 10:44:21 2062

原创 CentOS7搭建k8s集群

这里写自定义目录标题准备条件硬件准备docker的准备k8s源的准备镜像准备安装软件初始化master节点排错注意点参考准备条件硬件准备请确保CPU至少2核,内存2G内核4以上(包括4)centOS7内核升级.禁用防火墙如果是多台虚拟机,需要保证虚拟机hostname不同。如果几台虚拟机是复制出来的,很可能忘记修改hostname、静态IPsystemctl stop firewalldsystemctl disable firewalld禁用SELINUX临时禁用sete

2021-09-27 22:22:51 779 1

原创 K8S无法使用本地镜像 ErrImageNeverPull

单节点集群单节点集群应该保证在master节点上可以调度:kubectl taint nodes --all node-role.kubernetes.io/master-单节点集群要想使用本地镜像需要满足两个条件1 - imagePullPolicy设置为IfNotPresent(如果本地没有,才从远程仓库拉取) 或者 Never(只从本地拉取)2 - 本地要有这个镜像。在单节点集群上这个条件一般都能满足这条命令允许master节点调度,但有时候却不灵。。。一主多从这种模式要想使用本地镜

2021-04-23 11:26:19 10808 4

原创 docker网络和应用发布

这里写自定义目录标题docker网络1 - 创建docker网络2 - 创建MYSQL容器实例3 - 创建SpringBoot应用docker网络docker网络有三种模式:1 - none2 - host3 - 桥接本文演示以下内容:1 - 将应用打包成镜像,并以容器的方式运行;2 - 容器持久化mysql数据库3 - 使应用容器可以通过固定名称连接数据库容器,而不是通过ip连接。基本思路就是:1 - 创建一个docker内部网络发布应用和数据库2 - 通过docker的端口映射将

2021-04-12 17:36:30 115

原创 java动态代理

特点1 - 基于接口2 - 不能代理枚举对象import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface Person{ public void sayHello(String name);}class Tom implements Person{ @Override public void s

2021-02-24 18:50:36 106

原创 Java瑣碎知識點

枚舉類中定義方法enum S{ D(1){ public void f1(){System.out.println("ddd");} } private int i; S(int i){ this.i = i; } public void f1(){ System.out.println("sss"); }; } public static void main(String[] args) {

2021-01-06 16:41:50 90

原创 ==和equal

==和equal== 比較的是地址,對基本類型和引用類型都可以用equal比較的是字面量,只對引用類型可用對於String要注意編譯時常量池,即在運行前能確定值的字符串會被存進常量池,String s1 = "s";String s2 = "s";則s1 == s2和s1.equal(s2)都是true,因爲s1,s2指向常量池中相同的地址 String s = new String("sss"); String d = new String("sss");

2020-12-23 15:34:54 101

原创 IDEA对maven项目打包

在项目中经常需要打jar包,或是集成工具类,或是做一个带main入口的可运行程序。如果你只希望对项目中某一个Java文件打包,这是不明智的,很有可能在解决依赖上浪费很多时间,如果你就恶的它足够重要,就给他单独建一个maven工程。

2020-07-07 21:11:59 594

原创 IDEA打包包含多个Main文件的项目

IDEA打包包含多个Main文件的项目如果项目中包含多个main方法,用IDEA怎么打包?1.创建一个单纯的maven项目2.创建结构如下,每个main函数简单的输出自己的类名![在这里插入图片描述](https://img-blog.csdnimg.cn/20200705081016378.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L

2020-07-05 08:42:55 3092 1

映射实体类.rar

可以将数据库里面的表映射出JavaBean对象,在spring boot整合mybatis的情况下,可以映射出Mapper接口层和xml实现文件

2019-10-25

空空如也

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

TA关注的人

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