自定义博客皮肤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)
  • 收藏
  • 关注

原创 Cache源码解析(RedisCache配置过程)

①cache配置过程 1、找到CacheAutoConfiguration类 内部有个配置类加载选择器,决定了哪个配置类会被加载! 2、找到CacheConfigurations类 RedisCacheConfiguration为redis的缓存配置类。 3、找到RedisCacheConfiguration类 RedisCacheConfiguration向spring中放入了RedisCacheManager的bean,用于管理Re...

2021-12-21 21:56:57 4286

原创 @ComponentScan的坑

使用了@ComponentScan后,spring默认的包扫描器将失效,spring只扫描@ComponentScan中指定的包! 所以,需要将要扫描的包都指定!

2021-12-15 20:55:31 1652

原创 rabbitMQ处理异步发送确认模式下未确认消息

package com.wang; import com.rabbitmq.client.Channel; import com.rabbitmq.client.ConfirmCallback; import com.wang.conf.Config; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.concurrent.ConcurrentNavigableMap.

2021-11-08 22:32:07 2514 1

原创 linux下各种软件的启动与关闭

一、zookeeper 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务:sh bin/zkServer.sh start 2. 查看ZK服务状态: sh bin/zkServer.sh status 3. 停止ZK服务: sh bin/zkServer.sh stop 4. 重启ZK服务: sh bin/zkServer.sh restart 二、mysql 启动M...

2021-11-01 15:11:10 3290

原创 使用shell脚本及docker创建redis集群

#!/bin/bash for port in 6379 6380 6381 6389 6390 6391 do mkdir -p /data-redis/node-$port/conf cat << EOF >> /data-redis/node-$port/conf/redis.conf pidfile "/var/run/redis_$port.pid" port $port dbfilename "dump_$port.rdb" logfile "$port.log" ##.

2021-11-01 10:33:20 919 1

原创 docker制作tomcat镜像、redis镜像

一:使用dockfile制作tomcat镜像 FROM centos COPY readme.txt /usr/local ADD tar/jdk-8u301-linux-x64.tar.gz /usr/local ADD tar/apache-tomcat-9.0.52.tar.gz /usr/local ENV MYPATH /usr/local WORKDIR $MYPATH ENV JAVA_HOME /usr/local/jdk1.8.0_301 ENV JRE_HOME $J...

2021-10-30 20:54:01 297

原创 springboot整合redis

1.properties文件 #主机名 spring.redis.host=192.168.249.131 #端口号 spring.redis.port=6379 #节点群 spring.redis.cluster.nodes=192.168.249.131:6379,192.168.249.131:6380,192.168.249.131:6381,192.168.249.131:6389,192.168.249.131:6390,192.168.249.131:6391 #Redis...

2021-10-22 19:39:14 174

原创 Mybatis逆向工程配置

1.拷贝 Mybatis逆向工程配置文件到项目的根录下(GeneratorMapper.xml) 2.修改 GeneratorMapper.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" ...

2021-10-22 10:09:06 139

原创 IDEA报错Cannot download sources解决方法

在Terminal,进入到项目根路径后,输入“mvn dependency:resolve -Dclassifier=sources”,然后再下载源码就可以了。

2021-10-21 17:38:29 542

原创 spring整合redis,并使用redisTemplate

注意:一定要保持版本一致! 1、redis.properties文件: redis.maxTotal=1000 redis.maxIdle=5 redis.maxWaitMillis=2000 redis.testOnBorrow=true redis.host=192.168.249.131 redis.port=6379 redis.timeout=2000 redis.password= redis.timeBetweenEvictionRunsMillis=30...

2021-10-15 22:06:16 649

原创 java二维数组

java中的int[][]表示一个二维数组,第一个方括号表示二维数组的行数,第二个位列数。因此,一个int[2][3]表示为: 但是数组的编号是从0开始,因此最大的2行3列的数据赋值2可表示为: t[1][2] = 2; //或者,外层括号表示行,内层括号表示一列一列的数据,第一行为{1,1,1}。第二行为{1,1,2} int[][] t = {{1,1,1},{1,1,2}}; ...

2021-10-05 16:27:46 814

原创 数据库使用函数和存储批量添加数据

#sql 生成n位数的随机字符串函数 delimiter $$ create function randString( n int) returns varchar(255) begin declare stringArray varchar(60) default 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; declare resString varchar(255) default ''; declare i int default .

2021-10-01 21:50:13 207

原创 通过nio内存映射文件方式进行读/写操作

FileChannel的map()方法可以将磁盘上的文件映射到计算机的虚拟内存中,并将虚拟内存包装成一个MappedByteBuffer对象。输出流的FileChannel通过write(MappedByteBuffer对象)方法可以将文件写入到指定位置。该方法不需要频繁的磁盘输入输出,提高I/O流的读写效率。但计算机的虚拟内存会严重影响该种方式。 package com.wang.TestBuffer; import java.io.*; import java....

2021-09-22 17:28:09 297

原创 mvc图片验证码的实现

1.在pom文件中加载验证码依赖 <!--验证码依赖--> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> 2.在a...

2021-09-11 20:38:25 357

原创 spring单例模式

spring中的bean都是单例模式创建的,始终都是处理一个bean对象,在多用户操作情况下单例模式只跟用户提交操作时间顺序,准确是处理器执行代码的先后顺序有关。 例如: 1.创建饿汉式单例Student: package org.example; public class Student { private static Student student = new Student(); private Student() { } ...

2021-09-10 22:30:32 1254

原创 使用Jackson将json转为map

第一种方法:使用遍历,并将其放入map内 第二种方法: String possibility = (String) application.getAttribute("possibility"); ObjectMapper om = new ObjectMapper(); Map<String,Object> map = om.readValue(possibility,Map.class);

2021-09-07 10:53:56 3004

原创 spring框架监听ServletContext启动,并加入一些属性到ServletContext

第一步: 在web.xml文件中配置spring的servletcontext监听文件以及自己写的servletcontext监听文件,自己写的servletcontext监听文件应放在spring文件之后,需要从spring容器内取对象。 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpat...

2021-08-30 15:53:53 540 2

原创 ServletContext全局作用域对象如何在启动时加载类并执行其方法

第一种方式: 第一步:创建监听器类,该类实现了ServletContextListener接口,重写 contextInitialized(ServletContextEvent servletContextEvent)与contextDestroyed(ServletContextEvent servletContextEvent)方法; public class A implements ServletContextListener{ @Override pu...

2021-08-29 22:49:34 477 1

原创 controller不能自动注入service

主要的问题之一为: 在web.xml配置文件中: (1)ContextLoaderListener监听的是applicationContext全局作用域的创建,而全局作用域启动时,spring容器也应在此时创建。因此全局作用域放的是spring的配置文件,主要控制dao以及service的对象。 (2)中央调度器是springMVC的核心组件,通过处理器映射器、处理器适配器、视图解析器等处理请求并响应。其中适配器是控制controller层...

2021-08-27 21:17:43 1173

原创 spring在别的service中调用方法开启事务

注:本文仅讨论AOP采用的是jdk默认(接口)动态代理方式。 spring中AOP都是采用的动态代理方式实现的,jdk默认的动态代理方式是通过创建接口的代理对象实现的,因此目标类必须要有接口才能实现AOP。 事务采用的是aop中的@Around方式实现的,当外部方法通过IOC调用对象的方法时,调用的是spring容器中对象的方法,而不是事务接口的动态代理对象,因此事务失效,并不会产生回滚。 例如: @Service public class Remo...

2021-08-27 17:12:54 1416

原创 反射获取Field

第一步:定义一个需要获取Field的类: public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 第二步:采用反射机制获取类的Field属性值: public void AddTest01(){

2021-08-20 23:23:51 930

原创 mybatis主配置文件

设置mybatis日志: <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> 设置别名: <typeAliases> <package name="实体类所在的包名"/> </typeAliases> ...

2021-08-07 15:51:23 86

原创 IntelliJ IDEA快捷键-持续补充

选择可重写的方法: Ctrl + O 代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等: Alt + Insert 快速自动生成Junit测试类: ctrl+shift+t–>create new test 显示当前类的层次结构 Ctrl + H 在当前文件进行文本替换 Ctrl + R 删除光标所在行 或 删除选中的行 Ctrl + Y ......

2021-08-02 10:29:17 319

空空如也

空空如也

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

TA关注的人

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