- 博客(53)
- 收藏
- 关注
原创 Vue3优雅的使用事件总线
要在Vue 3 Composition API中使用事件总线,请在main.js中使用Vue 3的新provideAPI,然后在任何组件中使用inject安装mittyarn add mittProvide// main.jsimport { createApp } from "vue";import App from "./App.vue";import mitt from 'mitt'; // Import mittconst emit.
2021-08-23 21:58:11
442
原创 Shiro权限管理
Shiro权限管理前言Shiro中的认证Shiro 入门前言什么是权限管理?基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。什么是身份认证?身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通
2021-04-17 14:50:22
329
原创 Docker新一代容器技术
Docker新一代容器技术Docker的核心架构安装 DockerDocker的定位是一个应用容器平台。Docker和传统虚拟机的区别Docker的核心架构镜像:一个镜像代表一个应用环境,他是个只读的文件 ,如mysq|镜像 tomcat镜像,nginx镜像等容器: 镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写仓库: 用来存放镜像的位置,类似于maven仓库,也是镜像下载和上传的位置dockerFile: docker生成镜像配置文件用来书写自定义镜像的一些配
2021-04-10 19:58:02
397
原创 初探JVM
JVM内存结构什么是 JVM?JVM (Java Virtual Machine) - Java 二进制字节码的运行环境JVM 有什么好处?一次编写,到处运行自动内存管理,垃圾回收数组下标越界检查多态(虚方法表)jvm jre jdk javase javaee 有什么关系学习 jvm 有什么用?面试理解底层的实现原理中高级程序员的必备技能学习路线内存结构程序计数器:记住下一条 jvm 指令的执行地址特点:是线程私有的不会存在内存溢出的问题栈: 线程运行
2021-03-31 17:23:13
335
原创 数据结构之线性结构
线性结构数组数组import java.util.Arrays;public class ArrayObj { private int[] elements; public ArrayObj() { this.elements = new int[0]; } public int size() { return elements.length; } public void add(int element) { int[] arr = new int[this.size
2021-03-26 18:24:54
111
原创 nodejs的文件操作
nodejs的文件操作判断是文件还是目录创建目录创建写入文件创建追加文件读取文件读取目录下的文件或目录文件重命名删除目录或文件判断是文件还是目录let fs = require("fs");// 判断是文件还是目录fs.stat("./app.js", (_, data) => { console.log(`是文件:${data.isFile()}`); console.log(`是目录:${data.isDirectory()}`);})创建目录// 创建目录f
2021-03-15 21:49:11
418
原创 SpringBoot 的 war 包部署
SpringBoot 的 war 包部署pom.xml项目入口类打包部署等效方式部署pom.xml<!--打包方式 war--><packaging>war</packaging><!-- 排除 jsp 的依赖--><dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed
2021-02-28 12:08:15
336
原创 快速搭建SpringBoot开发环境(整合mybatis)
快速搭建SpringBoot开发环境整合mybatis项目目录结构图pom.xmlapplication.properties入口文件domainmapperserviceuserMapper.xmlspringBoot 测试类项目目录结构图pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
2021-02-27 12:07:35
357
原创 jwt 的工具类
jwt 的工具类mavenJWTUtils使用maven<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.10.3</version></dependency>JWTUtilsimport java.util.Calendar;import ja
2021-02-26 14:25:20
142
原创 Vue的一些事
Vue的一些事vue 的生命周期函数# vue 组件中的 data 为什么是一个函数? 而不是一个简单对象?// 是这个data() { return {name: "zs"}}// 而不是下面的这个?data: {name: "zs"}# 因为 vue 中的组件是可以复用的、如果 data 是一个简单对象、那么**所有的组件**都会操作同一个# 简单对象、会引起数据更新的错乱# 如果 data 返回的是一个函数、函数每次调用都会返回一个新的对象实例、这样、每个组件都更新各
2021-02-19 17:12:53
111
原创 Git 的一些事
Git 的一些事git 的工作流程git 的常用命令将文件添加到忽略列表git 远程仓库的操作git 分支的操作git 标签的操作在 idea 中使用 Gitgit 的工作流程- 远程仓库 -> pull -> 工作区 /(远程仓库 -> clone -> 本地仓库)- 工作区 -> add -> 缓存区 -> commit -> 本地仓库 -> push -> 远程仓库- 版本库(本地仓库):.git 文件夹 版本库中存储了配置信
2021-02-19 17:06:15
259
原创 Java 的 Stream 流
Java 的 Stream 流引出 Stream 流传统方式操作集合数据Stream 流操作集合数据Stream 流的常用 API获取 Stream 流的两种方式Stream 流的注意事项forEach()count()filter()limit()skip()引出 Stream 流传统方式操作集合数据import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Hel
2021-02-14 11:30:02
787
4
原创 Java常用的函数式接口和方法引用
Java 的 Stream 流常用的函数式接口ConsumerSupplierFunction常用的函数式接口Consumer@FunctionalInterfacepublic interface Consumer<T> { void accept(T t); default Consumer<T> andThen(Consumer<? super T> after) { Objects.requireNonNul
2021-02-10 21:46:12
467
1
原创 JS 面向对象
JS 面向对象ES5 创建对象的方式构造函数和原型原型对象的应用ES5的继承(模拟继承)ES5 中新增的方法ES5 创建对象的方式// 构造函数创建对象function User(name, age) { this.name = name; this.age = age; this.say = function() { return "name: " + this.name + "age: " + this.age; }}function sa
2021-02-10 17:37:02
465
1
原创 vim 的一些事
vim 的一些事末行模式下的一些命令命令模式下的一些命令行数移动屏幕移动段落移动括号切换标记命令选中命令删除和撤销复制和粘贴替换命令缩排和重复执行查找命令全局替换可视区域替换插入命令# vim 1.py +16- 打开文件光标定位到第16行# vim 1.py +- 打开文件光标定位到最后# vim 的三种工作模式- 命令模式:vim 打开文件进入的模式就是命令模式 i 进入编辑模式 :进入末行模式- 末行模式:执行保存退出的操作 wq(x) esc 从末行模式回到命令模式- 编辑
2021-02-10 17:29:56
361
原创 Java中的反射和注解
Java中的反射和注解获取一个类 Class 对象的三种方式反射类的构造器反射类的字段反射类的方法反射类上的注解反射方法上的注解反射机制操作数组注解Java中的三种内置注解获取一个类 Class 对象的三种方式class User { private Integer id; private String username; private String password;}public static void main(String[] args) throws ClassNotFoun
2021-02-04 21:55:33
307
1
原创 Java中的泛型
泛型、反射、注解泛型自定义泛型类泛型方法泛型接口上界和下界泛型# 在泛型中基本类型无法充当类型参数、类型参数必须是Object 或 Object 的子类public static void main(String[] args) { new ArrayList<int>(); // 报错!! new ArrayList<Integer>();// 正确}自定义泛型类class Foo<T> { private T obj;}c
2021-02-04 19:56:29
116
原创 React的一些事
React的一些事# 在简单的页面使用 react (开发环境) <script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script> # 生产
2021-02-04 15:39:55
189
3
原创 Java 中的内部类和枚举
Java 中的内部类静态内部类局部内部类匿名内部类枚举# Test.javaclass A { class B { void hello() { System.out.println("B"); // 实例化 A A a = new A(); a.hello(); } } void hello() { System.out.println("A"); }}public class Test { public static void m
2021-02-01 22:38:15
615
原创 一些 JDBCUtils 工具类
一些 JDBCUtils 工具类不带连接池的JDBCUtilsC3P0连接池的JDBCUtils德鲁伊连接池的 JDBCUtils不带连接池的JDBCUtils# 配置文件 jdbc.properties (注意:该文件要放在 src 文件夹下)jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:///data?characterEncoding=utf-8jdbc.username=rootjdbc.password=123i
2021-02-01 15:18:22
128
原创 Java 面向对象三大特性
Java 面向对象三大特性封装封装# 封装的作用:- 对外隐藏复杂的实现细节、暴露出简单的使用方法- 提高代码的重用性- 隔离变化
2021-02-01 14:11:04
122
原创 Mybatis 的一些事
Mybatis 的一些事持久层技术解决方案什么是 ORM持久层技术解决方案# 持久层技术解决方案- Jdbc 技术- Spring 的 jdbcTemplate spring 对 jdbc 的简单封装- apache 的 DBUtils -- 以上这些都不是框架 -- jdbc 是规范 -- template 和 dbutils 是工具类什么是 ORM# ORM Object Relational Mappging 对象关系映射- 就是把数据表和实体类、数据列和实体属性
2021-01-31 20:33:52
103
原创 SpringBoot 的 pom.xml
SpringBoot 的 pom.xml<!-- SpringBoot的打包插件--><build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugin
2021-01-30 18:56:01
278
原创 SSM 的 pom.xml
SSM 的 pom.xml<!-- SSM相关依赖--><!-- Shiro依赖--><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.5.3</version></dependency><!-- SpringSe
2021-01-30 18:50:23
260
3
原创 TypeScript 基础
TypeScript 基础类型基础类型数组类型对象类型类型别名函数类型(lambda)函数类型接口和类类的继承抽象类枚举泛型类型# typescript 可以认为是添加了类型限定的 javascript基础类型// 基础静态类型let a: boolean = true;let b: number = 1;let c: string = "hello";// any 为任意类型let d: any = "world";// object 类型let date: object
2021-01-30 15:37:49
106
原创 React 扩展
React 扩展setState()lazy 组件懒加载HooksuseStateuseEffectuseRefFragmentContent组件优化renderProps 插槽错误边界视频链接setState() let {count} = this.state; // react的 setState 是异步执行的 !!! // 对象式的 setState // 第二个参数是回调函数、在setState() 函数和render()函数执行之后被调用 // 也就是说在这个回调函
2021-01-29 17:07:50
157
原创 CentOS Jar 包部署SpringBoot项目
CentOS Jar 包部署SpringBoot项目安装jdk配置环境变量重置环境变量下载并配置tomcat ==可省略==将SpringBoot项目打成一个jar包部署jar包安装jdk配置环境变量jdk1.8.tar.gz下载链接,提取码:wawu- 以root用户登录系统- cd usr/- mkdir java- cd java- mkdir jdk- mkdir tomcat- cd jdk- 上传jdk的tar包到当前文件- tar -zxvf jdk.XXXX.t
2021-01-28 22:29:15
209
原创 MyBatis的一些xml
MyBatis的一些xmlMyBatis的核心配置文件MyBatis中mapper接口的xmlMyBatis的核心对象基本使用单独使用MyBatis分页助手在MyBatis核心配置文件中声明分页插件分页助手的基本使用参考MyBatis的核心配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http:/
2021-01-28 20:11:43
121
原创 关于MyBatis的一些思考
关于MyBatis的一些思考MyBatis中的sql语句是用多表联查封装数据好?还是用单表查询、然后再业务层封装数据好?MySQL的编码如何统一?在mybatis中是使用注解还是xml?MyBatis中的sql语句是用多表联查封装数据好?还是用单表查询、然后再业务层封装数据好?# 单表查询在业务成封装数据比用多表联查封装数据好!!## 原因如下:- 单表查询更有利于触发mybatis的缓存机制- 单表查询语句简单、更有利于重构和维护- 单表查询在业务层封装数据代码层次更清晰- 最重要的一
2021-01-28 18:11:32
130
原创 SprintBoot使用Mybatis的分页插件
SprintBoot使用Mybatis的分页插件引入stater配置application.properties使用引入stater<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version>&
2021-01-28 17:27:26
108
原创 CentOS7.X安装MySQL5.7
CentOS7.X安装MySQL5.7以Root身份依次执行以下命令安装完成后一些重要文件的默认位置启动MySQL服务重置密码到此:MySQL就安装成功了。以Root身份依次执行以下命令[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm [root@localhost src]# rpm -i
2021-01-28 17:06:02
97
原创 前后端分离的情形下thymeleaf的正确使用方式
前后端分离的情形下thymeleaf的正确使用方式拆分公共页面以拆分导航栏为例要引入该代码片段的页面注意:common.html 和 index.html 要放在同一级目录下、代码片段的替换是同级替换在thymeleaf中忽略解析script标签中代码的指令持续更新...**不使用thymeleaf的任何模板语法、只是用thymeleaf做静态资源的映射和转发**注意: 1、 thymeleaf静态资源映射的时候、假设静态资源目录为static (静态资源目录默认为 rescouse\publ
2021-01-28 16:35:56
2271
原创 JavaWeb开发常用工具类
JavaWeb开发常用工具类图片验证码QQ邮箱验证码工具类生成少量个数字符串的工具类ps可以配合邮箱验证码使用持续更新...图片验证码package cn.liuweiwei.utils;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.
2021-01-28 15:56:23
579
1
原创 Docker
Docker笔记CentOS6通过yum安装Docker1.更新yum包sudo yum update2.下载RPM包curl -O -sSL https://get.docker.com/rpm/1.7.0/centos-6/RPMS/x86_64/docker-engine-1.7.0-1.el6.x86_64.rpm 3.安装rpm包sudo yum localinstall --nogpgcheck docker-engine-1.7.0-1.el6.x86_64.rpm 4.
2020-07-29 13:04:25
127
原创 SpringCloud
SpringCloud基本组件1.eureka-server的环境搭建1.引入pum依赖(注意SpringBoot和spring cloud的版本问题)<?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:schemaLocat
2020-07-29 13:03:33
134
原创 Swagger整合SpringBoot
Swagger整合SpringBoot引入的依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> <groupId>io.
2020-07-29 13:02:21
236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人