自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javafx mvvm 框架,实现视图与模型的双向绑定

仓库地址 https://github.com/kfyty/kfyty-utils/tree/master/kfyty-javafx。引入pom(暂未发布到中央仓库,需源码安装)编写 NewWindowController。编写 hello-view.fxml。编写 HelloController。编写 new-window.fxml。运行 Main.main 方法即可.

2024-03-08 17:51:42 398

原创 使用 springboot 的 jar 包方式启动 cas-server

使用 springboot 的 jar 包方式启动 cas-server非常简单,只需要一个 pom.xml 就可以了!!!<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

2021-07-08 15:31:30 1096 1

原创 手写 ioc/aop + mvc,支持动态代理,异步事件

手写 ioc + mvc,支持动态代理手写 ioc 应该是很多 java 者做过的事情吧我也来一波儿~~~手写 ioc 之一:定义接口手写 ioc 之二:四种基本 bean 定义实现,以及扫描 class 以及 spi 机制支持手写 ioc 之三:bean 刷新主逻辑,应用上下文默认实现手写 ioc 之四:属性注入/方法注入,以及解析循环依赖手写 ioc 之五:动态代理工厂,方法拦截链,统一 jdk 和 cglib手写 ioc 之六:基于动态代理添加新功能:增强 @Configuration

2021-06-20 18:56:30 144 2

原创 造轮子之整合嵌入式 tomcat9 以及 websocket

造轮子之整合嵌入式 tomcat 以及 websocket去年周末的时候没事干,就造轮子玩,搞了一个简易版的 spring mvc。今年周末的时候没事干,就造轮子玩,搞了一个简易版的 springboot。造轮子的过程中,就属整合嵌入式 tomcat9 有点麻烦,特此记录一下。talk is cleanup, show youer me code !嵌入式 tomcat9 所需依赖: <properties> <tomcat.version>9.

2021-06-05 20:42:17 814

原创 不同数据源的多个 JdbcTemplate 之间的事务一致性支持

不同数据源的多个 JdbcTemplate 之间的事务一致性支持最近遇到了这种需求,使用下面这种方式编写测试代码时发现无效。jdbcTemplate.getDataSource().getConnection().setAutoCommit(false); 使用 TransactionTemplate 吧,又不满足我的需求。没办法,只能使用 PlatformTransactionManager 手动来做了,刚开始代码如下:@Datapublic class JdbcTemplateTransa

2021-05-12 14:48:09 591 2

原创 springboot 下 netty 入门 demo,基于 NettyController 注解 + json 的交互

netty 入门 demo,基于 NettyController 注解 + json 的交互1、添加数据包装器配置这个配置是用来包装原始数据的,主要用来处理自定义协议或粘包拆包package com.kfyty.netty.handler.config;import com.fasterxml.jackson.databind.ObjectMapper;import com.kfyty.netty.handler.HandlerDataWrapper;import lombok.SneakyT

2021-05-04 13:34:06 1006 2

原创 使用 jsp 模板生成 java 源代码,并将生成的 java 代码二次编译并运行

使用 jsp 模板生成 java 源代码,并将生成的 java 代码二次编译并运行在 上篇文章中,我将 tomcat 中编译 jsp 并生成 servlet 的路线给单独走通了,从而实现了不需要启动 tomcat,而直接将 jsp 模板渲染为 html 的功能。这一次,我突发奇想,如果使用 jsp 生成 java 源码,能否对生成的 java 代码进行二次编译,从而实现俄罗斯套娃呢?由上篇文章可以得知,渲染 jsp 模板就是先翻译为 servlet 源码,然后编译之并实例化,接着手动调用其 init、

2021-05-02 13:13:19 316

原创 jsp 模板引擎。无需 tomcat,只需一个 jar 包直接根据 jsp 源文件渲染得到 html 页面

jsp 模板引擎。无需 tomcat,只需一个 jar 包直接根据 jsp 源文件渲染得到 html 页面。背景说到模板引擎,大家能想到的一般都是 freemarker、thymeleaf 之类的。而说到 jsp 估计大家会一致的说 jsp 本质就是一个 servlet。的确,jsp 本质确实是 servlet,但是单单从 jsp 来说,它支持各种标签来渲染数据,其他的模板引擎也都有自己的专属标签去渲染数据。所以我觉得 jsp 从某种意义上,可以说是由 servlet 实现的模板引擎,我觉得是没问题的

2021-01-16 21:46:12 664 2

原创 shell 脚本重启 java 服务

shell 脚本重启 java 服务虽然刚开始的时候敲命令感觉挺有趣的,但是时间长了还是感觉麻烦。因此编写了一个简易的重启服务脚本。不得不说,为了编写这个脚本,虽然有各类文章参考,但还是废了很大的劲,毕竟第一次编写。最大的一个坑就是使用命令直接执行和使用 shell + 参数执行得到的结果不一致!最终还是排除掉脚本本身得到了正确答案。脚本如下:#!/bin/bash# restart.sh# author kfytypCount=`ps -ef | grep $1 | grep -v $

2020-12-15 11:56:20 568

原创 mysql、oracle构建临时连续日期序列

mysql、oracle构建临时连续日期序列做统计分析的时候,总有些按日期查询。比如近 7 天数据,近 30 天数据,当月数据之类的。但是表中的日期并不一定是连续的,这就需要构建一个日期序列作为主表查询。每次做这类查询都要baidu半天怎么构建日期序列,今天记录一下。mysqlmysql 这里百度了半天,没有找到像 oracle 那样的语法函数,只能另想他法了。1、创建日期表这个方法是在前公司偶然见到的。顾名思义就是创建一张数据表,里面保存了从当天开始一直向前推得日期数据,示例如下:然后 sq

2020-12-01 15:54:03 893 2

原创 数组链表合体 - 链式数组结构!集合链表和数组的优点于一身,一百万数据的随机添加以及随机删除最快只需 2.2 秒,是 ArrayList 的 70 倍 !

一种新的数据结构 - 链表数组结构!集合链表和数组的优点于一身,一百万数据的随机添加以及随机删除最快只需 4.5 秒!简介及测试结果我们都知道,java 中最常用的集合是 ArrayList、LinkedList,前者是数组实现的,后者是双向链表实现的。对于 ArrayList 来说适合读多写少的场景,因为它写数据的时候需要扩容或者移动数据;对于 LinkedList 来说则适合写多读少的场景,因为它读数据的时候需要对节点进行遍历。那么问题来了,有没有一种数据结构能够综合这两种数据结构的优点呢?

2020-10-01 20:53:47 871

原创 mybatis 怎么动态的自定义和解析 mapper 标签?

一、前言不知道大家有没有遇到过这种需求,比如现在有一个 mapper 标签:<select id="query" resultType="HashMap"> ${sql}</select>很显然,这个标签的作用就是直接执行传入的拼接好的 SQL 语句,比如:select * from table where condition一般情况下,这个 SQL 的条件是我们手动拼接好的。那么如果我们直接让 mybatis 帮我们拼接会怎么样呢?比如假设我们传来的 SQL 是这

2020-06-13 11:57:25 2040 4

原创 springboot环境下,最详细、最简单的大文件分片上传、断点续传

springboot环境下,最详细、最简单的大文件分片上传、断点续传一、总体思路1、前端以分片的形式计算出整个文件的 md5 值以及文件大小 size;2、使用 md5、 size 去请求后台判断文件是否已经存在;3、如果根据 md5 查询有数据,且数据大小与 size 一致,则文件已存在,此时跳到步骤 94、如果根据 md5 查询有数据,且数据大小与 size 不一致,则文件上传了一部...

2020-03-13 21:28:21 5651 11

原创 mybatis 也想要类似 spring-data-jpa 那样只需要写接口就能查询的功能怎么办?

mybatis 怎么才能支持 data-jpa?前言spring-data-jpa 的只写接口便可以 CRUD 的能力真的是好爽,然而 mybatis 写 sql 的灵活又让我欲罢不能。我总是希望二者能够调和一下。我曾想过在同一个项目中同时使用这两个框架,当然是可行的,但是一直担心会出现什么问题。缓存先不说,事务管理器就不是同一个吧,小白也不知道怎么整,老想着有大神能够整合。在我的不懈努力...

2019-12-08 15:15:10 639 1

原创 手写基于注解的半 orm(支持动态 SQL),并基于此实现代码生成器

论实现自己的 mybatis,并基于此编写代码生成工具,最后模仿 SpringBoot,Just Run如何实现自己的 mybatis使用实现的 mybatis 编写自己的代码生成工具基本使用演示自定义生成模板1. 自定义生成代码模板2. 自定义要查询出的表结构内容如何实现自动配置?如何实现自己的 mybatis关于这个问题,请大家移步我的个人博客(http://www.kfyty.com/i...

2019-09-07 23:18:55 291

原创 基于邻接表实现简单图的一些基本操作

基于邻接表实现简单图的一些基本操作C/C++ 代码:ALGraph.h 代码:接着昨天的记录,上次是邻接矩阵实现,这次是邻接表实现的,废话不多说,直接上代码C/C++ 代码:ALGraph.h 代码:#include&amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;amp;lt;cstring&amp;amp;amp;amp;amp;gt;#includ

2018-11-24 19:27:51 838

原创 基于邻接矩阵实现简单图的一些基本操作

基于邻接矩阵实现简单图的一些基本操作C/C++ 代码:MGraph.h 代码:LinkQueue.h 代码:偶尔记录一下,原来图的算法也没有那么难,废话不多说,直接上代码C/C++ 代码:MGraph.h 代码:#include&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#include&amp;amp

2018-11-23 23:57:32 764

原创 前序中序、后序中序、层序中序创建二叉树

前序中序创建二叉树后序中序创建二叉树层序中序创建二叉树

2018-09-21 23:22:21 2094

空空如也

空空如也

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

TA关注的人

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