- 博客(32)
- 收藏
- 关注
原创 【Mybatis】不启动项目直接测试Mapper的方法
在项目开发过程中,有时候一个庞大的SpringBoot 项目的启动时间可能要几分钟的时间,这时候我们如果想测试自己写的某个mybatis的Mapper的方法,要浪费大量时间在等待项目启动上。本文通过一个Main方法和一个Mybatis配置类实现无需启动项目直接测试Mapper功能。
2023-10-20 16:19:14 1498 1
原创 【SpringBoot底层原理】SpringBoot底层原理实践(一)——手撕SpringBoot容器(幼儿园版)
SpringBoot项目创建一个helloworld的web项目非常快速且方便,然后内部的流程实际上非常复杂。很多像我一样的小白,想通过阅读源码方式来了解SpringBoot的运行流程和机制,会发现根本无从入手!!,想要先了解一个点,却发现一个点涉及的类和接口实在太多,难以梳理这个流程。本文通过自定义注解的方式来模拟SpringBoot的容器初始化流程。
2023-10-19 14:43:47 302
原创 【自定义注解】自定义注解实现Spring容器注入Bean(类似于mybatis的@MapperScans)
本文通过自定义注解@MyService和@,将SpringBoot项目中带有@MyService或包内的类注入到Spring容器中。@MyService注解@InheritedMyServiceScans注解这个注解有一个数组参数可以存放一个或者多个包的全路径。@Inherited作用就是在Spring启动时自动扫描项目中的类,并创建并注册它的bean定义,使得我们能在需要时从Spring上下文中取得所需的bean。
2023-10-17 15:03:08 1329
原创 【@Cacheable】一个注解实现方法返回结果的Redis缓存(带过期时间)
本文主要对SpringBoot框架中的@Cacheable注解的使用进行介绍,由于这个注解是不支持设置过期时间的,可能会导致内存溢出,为解决该问题,本文使用Redis结合@Cacheable将方法返回结果进行缓存。Spring 缓存在项目中的使用。
2023-10-11 11:58:09 2069
原创 【Mybatis-plus】SpringBoot项目多数据源配置(解决日志无法打印和分页问题)
在使用SpringBoot项目中,有时可能会用到多个不同的数据库,这种情况下就要配置多数据源。
2023-10-08 11:42:22 1960
原创 一种基于【@Qualifier 和 @InitializingBean】的Service路由方法
试想一下,假如有一个页面,里面有30多种不同的指标,每个指标在数据库中对应一个表,每个指标的计算公式又不一样,如果30多个指标对应的Service都要在控制层进行手动调用,代码将显得非常冗余且不好维护。本文实现,一个BaseService对多个Service进行路由。以一个水果FruitService来实现多个不同的水果(产品)的销售额和计算和汇总的路由。本文仅是一个通用框架,具体业务实现要根据自己需求来调整,最终实现的效果是所有通用方法都在BaseService里写,Service里只写个性化的业务。
2023-09-28 16:27:20 346
原创 【自定义异常】SpringBoot自定义异常+全局异常处理类Demo
在Java中,自定义异常是一种由程序员根据特定需求创建的异常类型。它们可以帮助我们在程序中明确和处理特定的异常情况。以下是一些使用自定义异常的常见应用场景:更好地表示业务逻辑错误:自定义异常可以根据具体业务需求来定义,并提供更有意义和准确描述的错误信息,以便于程序员和其他开发人员理解问题所在。区分不同类型的错误:通过创建多个不同类型的自定义异常类,可以区分并捕获不同类型的错误。
2023-09-13 10:25:04 1839
原创 【文件上传】前端html上传 + 后端SpringBoot接收并保存
前端通过html来进行文件上传,后端SpringBoot框架,编写了一个Controller来进行文件保存
2022-11-09 18:46:29 1169 1
原创 【Nginx+SSL】在华为云和腾讯云上配置Nginx+SSL,实现Http转Https
在华为云和腾讯云上配置Nginx+SSL,实现Http转Https
2022-06-30 19:04:55 1680
原创 【OpenStack】在ubuntu20.04上部署openstack(Ussuri版)
【OpenStack】在ubuntu20.04上部署openstack(Ussuri版)
2022-06-24 21:47:22 7079 2
原创 【OpenStack】实体机断电重启后,自动启动之前是开机状态的虚拟机
有时候服务器意外断电,恢复供电后OpenStack虚拟机都是关闭状态的。手动重启非常麻烦。解决方法如下:修改所有计算节点上的nova.conf配置文件vim /etc/nova/nova.conf在 [DEFAULT]中添加以下代码# 实体机重启后自动重启虚拟机resume_guests_state_on_host_boot=true重启nova-compute服务 service nova-compute restart至此,以后在断电,就不用手动重启之前是运行状态的虚
2022-04-28 13:46:12 2572 3
原创 【nginx】快速入门——SpringBoot项目代理及图片代理
nginx快速入门1. 简介2. Ngnix下载2. Nginx启动与停止2.1 启动2.2 关闭2.3 重新启动3. Ngnix配置文件4. SpringBoot项目代理5. 图片代理1. 简介nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx专为性能优化而开
2022-04-24 17:26:07 6907
原创 【Pytorch】深度学习快速上手心得
【Pytorch】深度学习快速上手心得本文通过一个简单的demo,基于一个3层感知机,来实现了seq2seq的时间序列预测模型,并在一个随机生成的数据样本上得到了较好的结果。其实更为复杂的模型跟这个demo相比,无非就是网络层变得复杂了一些,数据加载变得复杂了一些,但是殊途同归,万变不离其宗,期望能够一些深度学习的新人一些启发。
2022-04-15 14:04:04 3057
原创 【Pytorch】DataLoader和 DataSet快速入门
在深度学习中,对数据进行预处理时候,当数据量比较大的时候,一般需要将数据集划分成多个batch。这时可以通过实现一个torch自带的DataSet类,来完成常见的batch划分以及shuffle操作。1. 导入依赖import torchfrom torch.utils.data import Dataset,DataLoader,TensorDataset2. 实现DataSet类只需要重写__getitem__和__len__这两个方法即可。class myDataSet(Dataset
2022-01-03 10:13:41 760
原创 【python】pyplot绘制横轴为时间的图
1. 导入环境import numpy as npimport matplotlib.pyplot as pltfrom IPython import displayfrom datetime import datetimefrom datetime import date2. 绘图方法def myplot(x, y, label=None, xlimit=None, size=(9, 3),fileName=None): display.set_matplotlib_form
2021-12-29 20:08:32 22232 4
原创 【flask】基于Python轻量化web框架
1. 安装pip install flask2. 快速入门仅需5行代码和一个main方法入口from flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): return "Hello World!"if __name__ == "__main__": app.run(port=8081)然后在浏览器输入 http://localhost:8081,就会返回一个 "Hello World
2021-12-21 20:40:33 2116
原创 【python】日志管理
一、日志的作用程序和脚本往往是无人值守运行的,一旦发生问题,就需要我们去追溯当时的情况来定位问题的原因。这便需要我们在程序和脚本中引入日志的功能。相比于print信息,使用logging日志有以下优点可以记录输出日志的时间、文件、函数以及代码行,甚至线程名和线程号可以分等级记录日志(调试级Debug、信息级Info、警告级Warning、错误级Error、严重错误级Critical)即可以实时输出到屏幕,也可以输出到文件二、python中使用日志管理2.1 基本使用import logg
2021-12-08 10:21:47 1251 1
原创 【SpringBoot+HBase 】快速入门
SpringBoot+HBase保姆级入门教程前言一、HBase常用shell命令1.基础命令2. 表的基本操作3.表中数据的增删改查3.1 HBase数据模型3.20.1 Maven依赖前言本文是在已经搭建好的hbase数据库基础上进行的JavaAPI开发。HBASE搭建可以参考下面这篇文章,如果在自己电脑上搭建,配置不够用,只搭建一个单节点的hbase也行。WMware上搭建基于Ubuntu18.04的Zookeeper+Hadoop+HBase集群本文是一个单节点的hbase,搭建在2核4G的
2021-10-25 16:10:25 4097
原创 ubuntu重装系统后,硬盘挂载不上,修复硬盘并恢复数据
ubuntu重装系统后,硬盘挂载不上ubuntu从16.04升级到20.04后,原来的6T的硬盘,无法挂载,root@slave3:/usr/local# mount /dev/sdb /opt/mount: /opt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.使用fsck命令修复硬盘。关于fsck命令可以参考以下文章:使用f
2021-10-06 16:45:31 2692
原创 【Ubuntu20.04】新系统起步安装
1. 安装ssh服务安装服务sudo apt-get install openssh-server检测ssh服务是否开启输入sudo ps -e |grep ssh–>回车–>有sshd,说明ssh服务已经启动,如果没有启动,输入sudo service ssh start–>回车–>ssh服务就会启动生成ssh密钥以下操作都是在hadoop001节点操作,其他节点操作相同。进入到宿主目录下,生成本机秘钥同时设置免密登录,注意,这里不能使用 root 用户生成
2021-09-28 18:30:17 555
原创 【SpringBoot+阿里云ssl】完成 http转https以及ws转wss
SpringBoot+阿里云ssl完成 http转https以及ws转wss前言一、HTTP转HTTPS二、ws转wss前言本文工作是建立在已经有一个SSL证书的基础之上。阿里云证书如何申请可以参考以下链接:阿里云免费SSL证书申请流程申请完成后下载相应的证书。本文的服务器是springboot内置的Tomcat服务器,因此选择下载tomcat版本的。下载完成后解压,会出现一个.pfx后缀和.txt后缀的文件。证书文件(domainName.pfx):以.pfx为文件类型。密码文件(pfx-
2021-09-15 10:46:23 1547 3
原创 【SpringBoot Data JPA】多表关联查询
SpringBoot Data JPA 多表关联查询一、数据库架构设计1.1 数据表结构2.2 建立数据库表:二、SpringBoot整合JPA多表查询2.1 环境配置2.2 建立数据库映射模型2.2 编写DAO层接口2.3 在测试类中,测试数据库映射是否正确。2.3 在JPA框架中表关系的分析步骤2.4 映射的注解说明2.5 多表关联查询2.6 测试多表查询一、数据库架构设计1.1 数据表结构传感器基础信息表 sensor_info传感器种类表sensor_type传感器(所属面)位置信息表s
2021-09-08 14:26:24 1881
原创 Springboot整合JPA(三)
@TOP第1章 Specifications动态查询有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。/** * JpaSpecificationExecutor中定义的方法 **/ public interface JpaSpecificationExecutor<T> { //根据条件查询一
2021-09-07 22:10:17 237
原创 Springboot整合JPA(二)
Springboot整合JPA(二)第1章 Spring Data JPA的概述1.1 Spring Data JPA概述Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!Spring Data JPA 让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现
2021-09-06 19:56:01 700
原创 lucky-canvas轮盘抽奖demo
轮盘抽奖demo 微信小程序一、在微信小程序中使用一、在微信小程序中使用npm 安装先找到小程序项目的根目录,看是否有package.json文件,如果没有就执行下面的命令来创建该文件npm init -y安装 npm 包npm install mini-luck-draw构建 npm微信开发者工具找到左上角点击 工具 > 构建 npm > 构建成功在xx.json引入自定义组件,如下图,在luck.json中引入 { "usingComponent
2021-09-03 00:08:15 1985 1
原创 【RocketMQ】Ubuntu18.04上部署RocketMQ4.8.0
Ubuntu18.04上部署RocketMQ4.8.0前言一、环境准备二、部署RocketMQ2.1 RocketMQ4.8.0中的bug前言本文详细记录了RocketMQ4.8.0的安装记录。一、环境准备系统: Ubuntu18.04安装包版本:rocketmq-all-4.8.0-bin-release.zip二、部署RocketMQ2.1 RocketMQ4.8.0中的bug运行异常信息在Linux下运行mqnamesrv命令后,报如下所示错误,....runserver.sh:
2021-08-26 22:49:20 1204
原创 【Zookeeper+Hadoop+HBase】WMware上搭建基于Ubuntu18.04的Zookeeper+Hadoop+HBase集群
一、环境准备1、创建3台虚拟机并不用一次性创建3个虚拟机,只需要创建一个,然后拷贝2份,如下图创建一个wzh用户,密码123456。保存虚拟机的名称为 Hadoop001硬件设置如下,内存设置3G就够用了,因为本人电脑内存只有16G,创建3台3G的虚拟机就已经很吃力了 =_= !这里的网络设置为NAT模式,这是VMware上最简单的可以让虚拟机上网的网络模式。......
2021-08-20 16:18:17 1866 2
原创 【微信小程序】快速入门
微信小程序快速入门一、准备工作学习微信小程序需要有一定的HTML、CSS、JavaScript基础开发软件:微信开发者工具微信小程序官方文档:Wechat小程序官方开发文档微信官方组件库:微信官方组件库组件库:vant-ui(比微信自带的好看一些,使用说明也更丰富)图标库:阿里巴巴矢量图标库(可以下载一些矢量图标)小程序管理平台:微信小程序管理平台(以管理小程序版本,查看小程序AppID,配置https和wss,修改小程序头像等)学习参考视频:黑马微信小程序 (看完前60个就差不多了)
2021-07-06 11:51:48 1720 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人