自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于select for update 实现数据库分布式锁

基于select for update 实现数据库分布式锁

2024-05-11 19:27:05 549

原创 spring启动时如何自定义日志实现

最近在编写传统的springmvc项目时,遇到了一个问题:虽然在项目的web.xml中指定了log4j的日志启动监听器Log4jServletContextListener,且开启了日志写入文件,但是日志文件中只记录业务代码中我们声明了日志记录器的日志,无法记录spring上下文启动的日志。测试方法如下:观察下面的运行结果截图,我们发现红色字体是spring上下文的启动日志而灰色字体是我们打印的日志,而且在日志文件中也只记录了我们打印的日志和druid数据源的关闭日志。实时上spring上下文的启动日志也

2024-03-07 23:22:37 1023

原创 ThreadLocal的一些理解

ThreadLocal的一些理解

2024-02-21 21:16:25 730

原创 springboot集成cxf

springboot集成cxf实现webservice服务发布

2023-12-08 00:08:39 1130

原创 jetty嵌入式开发及spring整合quartz(内存模式)

jetty内嵌开发

2023-10-12 23:42:40 248

原创 使用java动态代理实现方法增强

java动态代理实现方法增强

2023-05-12 00:09:00 284

原创 spring启动时加载外部配置并实现在不重启应用的情况下修改druid连接池的配置

spring启动时加载外部配置并实现在不重启应用的情况下修改druid连接池的配置

2023-03-18 18:35:12 1579 1

原创 SpringBoot 动态操作定时任务(启动、停止、修改执行周期)增强版

SpringBoot 动态操作定时任务(启动、停止、修改执行周期)增强版

2023-03-15 23:20:11 4430 3

原创 使用ZipOutputStream实现web端批量下载文件到浏览器

使用ZipOutputStream实现web端批量下载文件到浏览器

2023-03-11 02:56:05 2160

原创 基于ConcurrentHashMap实现一个自定义的缓存工具

基于ConcurrentHashMap实现一个自定义的缓存工具

2023-02-25 00:22:12 668

原创 使用easyexcel追加写入数据库分页查询数据

easyexcel追加写入数据库分页查询数据

2023-02-11 01:16:42 4918 4

原创 mysql主从复制并实现读写分离

读写分离

2022-11-27 22:32:13 91 1

原创 使用RandomAccessFile分片处理大文本文件

大文本文件分片处理

2022-11-20 01:35:54 732

原创 大数据表分页批处理及使用接口回调的方式进行解耦

大数据表分页批处理及接口回调方式解耦

2022-11-17 21:51:10 345

原创 springboot整合cxf-rt-transports-http-jetty发布jax-rs服务

springboot整合jax-rs

2022-11-12 17:06:54 1582

原创 springboot中RestTemplate的用法

Springboot中RestTemplate的用法

2022-11-08 01:14:59 2661

原创 springboot动态数据源原理分析及实现

springboot动态数据源实现的两个关键要素说起动态数据源,大家肯定都觉得是个很神秘的东西,其实若仔细研究就会发现并不复杂,具体来说,只有两步:第一、spring容器中注入两个数据源。第二、在运行时根据业务需要获取特定的数据源。读者老爷:老哥你这不是废话吗,看完你这个讲解,发现它就是讲解,屁用没有。作者老弟:别急麻,现实中咱们解决问题就是,从外到里,一层一层递进。咱们就从第一步spring容器注入多数据源开始递进。首先咱们要搞明白的,如何注入数据源及注入的数据源由谁来管理呢?注入数据源我就

2022-04-28 22:22:05 2366

原创 springboot整合quartz定时任务( JDBC作业存储方式)

springboot整合quartz定时任务(任务持久化到数据库)

2022-03-12 21:11:11 2410

原创 springboot整合mybatis详细步骤

springboot2.4.4整合mybatis一、搭建工程二、使用mybatis进行数据库操作三、测试运行四、总结springboot目前已成为javaweb的主流开发框架,它就像一个万能胶,只要拉取相关依赖的starter,我们只需要做少量配置就能做到开箱即用。mybatis是国内比较流行的持久层框架,即支持注解类型开发也支持xml类型开发,同时支持动态sql,非常灵活好用,spring也对该框架进行了适配,今天这篇博客的内容就是介绍如何使用springboot集成mybatis。好啦,不罗嗦了正

2022-03-12 19:30:28 2200

原创 git本地dev分支覆盖master分支并覆盖远程仓库的master分支

git使用dev覆盖本地及远程master分支1、切换到dev分支:git checkout dev2、删除本地的master分支:git branch -D master3、将dev分支复制到本地的master分支:git checkout -b master4、推送到远程并覆盖仓库的master分支:git push -u origin master --forcegit远程分支强制覆盖本地的分支1、下载代码到本地git fetch --all2、将HEAD指向最新下载的版本git

2021-11-11 18:06:23 3558

原创 mysql如何导入或导出以固定分隔符的文件

mysql

2021-11-11 17:21:53 3279

原创 基于http协议实现netty客户端与tomcat之间的通信

平常我们都是使用netty搭建客户端以及搭建netty服务端实现通信,其实我们也可以使用netty搭建基于http协议的客户端实现与tomcat的通信。代码案例:服务端代码,本质就是一个对外发布的controllerpackage com.syx.controller;import com.syx.entity.User;import com.syx.service.UserService;import org.springframework.beans.factory.annotation.

2021-07-07 23:48:25 354 1

原创 SpringBoot 动态操作定时任务(启动、停止、修改执行周期)

springboot自身带有一套定时任务框架,使用起来也比较简单,只需要在应用上添加@EnableScheduling注解开启定时任务的支持,然后在具体任务实现的方法上添加 @Scheduled然后配置corn表达式就完成了。代码示例:1、开启定时任务的支持package com.syx;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBoo

2021-07-02 23:26:39 13567 16

原创 基于netty实现的简单RPC调用

1、RPC的架构从上图可看出RPC主要分为三个部分:(1)、服务提供者(RPC Server),运行在服务器端,提供服务接口定义与服务实现类。(2)、服务中心(Registry),运行在服务器端,负责将本地服务发布成远程服务,管理远程服务,提供给服务消费者使用。(3)、服务消费者(RPC Client),运行在客户端,通过远程代理对象调用远程服务。2、基于netty实现RPC的思路根据上面的rpc结构图,如果我们想实现一个rpc调用框架,则必须实现上述三部分。2.1、服务提供者:1、定义客

2021-06-19 22:42:05 256

原创 使用dom4j结合深度优先搜索和广度优先搜索读取整个xml文档

1、xml文档<?xml version="1.0" encoding="UTF-8"?><class> <stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> </stu> <stu id="002"> <name&gt

2021-05-25 20:36:51 215

原创 java实现读取文件增加行的信息

项目结构思路:想要实现读取文件增加行的信息最终要的一点就是得知道上次读文件的时候读到哪一行了,所以我们只需要建立一个能够记录上次读取行号的文件,等下次读取时按照这个行号接着往下读取就可以了。properties文件用于存储文件的最后修改时间和最后读取文件的行号。#文件的最后修改时间file.lastModifyTime=1621670224454#文件最后读取的行号file.lineNum=7reader.txt为被读取文件ReadFile.java为读取文件增加行的信息的主要类pac

2021-05-22 16:29:12 512

原创 springboot整合mybatis

工程结构引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.4</version> <relativePath/> <!-- lookup par

2021-04-08 20:02:28 134

原创 将数据写入excel并包装成ByteArray字节数组返回,可用于网络下载

package com.excel;import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.*;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.*;i

2021-02-28 16:49:54 958 2

原创 JdbcTemplate事务开启的正确方式

场景复现,使用JdbcTemplate操作数据库,采用如下方式开启事务,然而并无卵用/** * 事务开启无效 * @throws SQLException */ @Test public void fun5() throws SQLException { //获取JdbcTemplate JdbcTemplate jdbcTemplate = JDBCUtil.getJdbcTemplate(); //获取连

2021-01-30 13:20:29 2591 3

原创 quartz定时框架学习

quartz工具类package com.syx.task;import org.quartz.*;import org.quartz.impl.JobDetailImpl;import org.quartz.impl.StdSchedulerFactory;import org.quartz.impl.triggers.CronTriggerImpl;import java.text.ParseException;public class JobScheduler { pri

2021-01-24 23:08:25 140

原创 基于netty进行对象传输(操作数据库)

基于netty进行对象传输编写了一个使用netty搭建的C/S项目,该项目用于远程访问数据库,实现客户端发送请求,服务端接收请求进行相应的数据库操作,返回数据给客户端。项目结构客户端代码package com.syx.client;import com.syx.client.handler.ClientHandler;import com.syx.entity.SendMsg;import com.syx.entity.User;import io.netty.bootstrap.Boo

2021-01-24 22:56:22 1210

原创 easyconnect工具

链接:https://pan.baidu.com/s/1L1QYVm9Hes9s_cnmXVZWBw提取码:rvhm

2021-01-07 23:48:10 972

原创 扩展c3p0写的通用数据库操作工具类(使用泛型方法)

package com.syx.utils;import com.mchange.v2.c3p0.DataSources;import com.syx.annotation.ID;import com.syx.entity.User;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.handlers.BeanHandler;import org.apache.commons.dbuti

2021-01-05 00:23:37 135 2

原创 手写springmvc

手写springmvc的思路springmvc的核心也是一个servlet即DispatcherServlet,这个servlet会配在web.xml里面,注意它的url-pattern配置的是/*,即拦截了所有请求。其原理就是当浏览器发送请求的时候,都会被springmvc的这个servlet拦截到,然后springmvc会将这个请求的url进行一些处理,处理后去匹配对应的controller中对应的method(requestMaping中填写的请求路径)。匹配之后就通过反射调用方法,完成业务逻辑。

2021-01-01 20:35:59 299 1

原创 手写spring时的一些工具类

一、注解操作的工具类,可以判断组合注解中是否包含某个注解package syx.mvc.util;import javax.annotation.*;import java.lang.annotation.*;public class AnnotationUtil { /** * 判断类上是否存在某个注解 * @param clazz * @param ann * @return */ public static boolean

2021-01-01 12:18:21 325

原创 使用java的流API进行数据的过滤

package wy;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;public class test { public static void main(String[] args) { ArrayList<equipment> ls = new ArrayList<>(); for (int i = 0;

2020-12-18 00:24:29 285

转载 基于netty的文件服务器

文件服务器package syx;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.

2020-12-13 23:56:42 215

原创 在给定节点的情况下使用深度优先遍历算法正向搜索该节点的所有子节点以及反向搜索所有父节点

一、节点的实体类包含两个字段:1、该节点的id2、该节点的父亲idpublic class Node { private int id; private int parentId; public Node(int id, int parentId) { this.id = id; this.parentId = parentId; } public int getId() { return id; }

2020-11-28 01:27:16 460

原创 java读取Excel文件并通过反射将读取的文件创建对象

读取Excel文件到map /** * 读取excel并存储到map中 * @param fileName * @return * @throws IOException */ public static HashMap<Integer, List<String>> readExcel(String fileName) throws IOException { HashMap<Integer, List

2020-11-25 22:00:39 562 1

原创 使用spring的AOP功能实现方法增强的时候,如果被增强的类实现了某个接口则注解的方式无法实现方法的增强,并且会报错

学习springAOP遇到的问题:** 分别使用XML和注解的方式,使用spring的AOP功能实现方法增强的时候,如果被增强的类实现了某个接口则注解的方式无法实现方法的增强,并且会报错:Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.wy.service.impl.AccountImpl' availab

2020-09-06 01:40:35 614 1

空空如也

空空如也

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

TA关注的人

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