自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 问答 (1)
  • 收藏
  • 关注

原创 POI的使用(Excel的导入和导出)

遇到了需要从Excel导入数据或导出数据的需求,写入数据到Excel和写入到文件没有本质区别,都在IO的范畴,但是使用原生的IO来处理比较麻烦,所以我们要学习使用第三方库来完成;1. POI:POI简介:Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。POI的

2021-12-28 16:02:17 502

原创 Vue笔记-Day05-03(生命周期)

TODO

2021-12-27 15:36:38 512

原创 Vue笔记-Day05-02(自定义指令)

TODO

2021-12-27 11:01:48 185

原创 Vue笔记-Day05-01(Vue的指令)

目前用过的指令:v-bind :单向绑定v-model :双向绑定v-for :遍历数组/对象/字符串v-on :绑定事件监听,简写为@v-if :条件渲染v-else :条件渲染v-show :条件渲染5.1 v-text:1.作用:向其所在的节点中渲染文本内容。2.与插值语法的区别:v-text会替换调节点中的内容,{{ xx }}则不会<!DOCTYPE html><html lang="en"><head>

2021-12-24 17:27:46 482

原创 Vue笔记-Day04-03(过滤器)

4.3 过滤器:

2021-12-24 15:17:08 80

原创 Vue笔记-Day04-02(表单数据的收集)

4.2 收集表单数据:若:,则v-model收集的是value值,用户输入的就是value值;若:,则v-model收集的是value值,且要给标签配置value值;若:,1.没有配置input的value属性,那么收集的是boolean的checked(是否勾选)2.配置input的value属性:(1)v-model的初始值不是数组:则收集依然是checked;(2)v-model的初始值是数组:则收集的就是value组成的数组;备注:v-model的三个修饰符:lazy:失去焦点后再

2021-12-24 14:17:04 504

原创 Vue笔记-Day04-01(数据监控)

4.1 Vue监视数据改变的原理:模拟一个数据监控,监控对象中数据的改变:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>模拟一个数据监控</title></head><body> <div class="root"> </div> <scr

2021-12-24 12:58:42 724

原创 Vue笔记-Day03-2(条件渲染|列表渲染)

3.4 条件渲染:1.v-if :写法:v-if;v-else-if;v-else;适用于切换频率较低的场景。特点:不展示的dom元素直接删除。注意:v-if与v-else-if,v-else可以一起使用,但是要求结构不能被打断,即必须连续的使用。2.v-show:写法:v-show;适用于:切换频率较高的场景;特点:不展示的dom元素不删除,而是使用display:none来隐藏;3.备注:使用v-if时,元素可能无法获取到,而使用v-show一定可以获取到;<!DO

2021-12-23 15:10:32 244

原创 Vue笔记-Day03-1(监视属性|class与style的绑定)

3.1监视属性:1.当被监视的属性变化时,回调函数自动调用,进行相关操作;2.监视的属性必须存在,才能进行监视!3.监视的两种写法:(1)new Vue时传入watch配置;(2)通过vm.$watch监视<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>监视属性</title> <script type=

2021-12-23 11:09:18 225

原创 Vue笔记-Day02

2.1数据代理通过一个对象代理另一个对象中的属性的操作(读 / 写 ):<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Object.defineproperty</title></head><body> <script type="text/javascript"> l

2021-12-22 16:07:52 98

原创 Vue笔记-Day01

Vue的特点:1.采用组建化模式,相当于一个.vue文件就是一个组件,提高代码的服用率;利于维护。2.声明式编码,无需直接操作DOM,提高开发效率;DOM:当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。3.使用虚拟DOM+Diff算法,尽量复用DOM节点。官方文档:https://cn.vuejs.org/1.0 初识Vue1.想让Vue工作,就必须创建一个Vue实例,并且要传入一个配置对象。2.root容器里的代码依然符合html规范,只不

2021-12-22 10:51:22 122

原创 JVM总结

本文是个人学习总结,内容主要来自网络、周志明老师的《深入理解Java虚拟机》和个人整理。本文所说的JVM均指什么是JVM?JVM的功能?JVM的介绍:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM的功能:1、JVM可以将.class文件转换为针对不同平台(Windows,Linux)的机器码,从而保证一套Java代码可以在不同的平台上运行。保证了Jav

2021-09-27 15:01:35 154

原创 Java--Collection总结

集合集合是日常使用和面试当中占比非常大的一块,所以将一些面试遇到的问题和学习的经验总结在此:为什么要用集合?集合和数组的区别是什么? 在我们需要保存一组数据时,我们需要一个容器,一般情况下这个容器是数组;但是数组本身有一些弊端,如: 1、数组是静态的,一个数组的实例具有固定的大小,无法改变容量; 2、数组是结构固定的,可重复的,使用不够灵活、方便; 3、声明数组时固定了存储的类型; 为了方便开发,我们使用集合来存储数据,集合有如下特点: 1、长度动态扩展; 2、结构不固定(list,se

2021-09-24 10:11:31 195

原创 设计模式2.3----抽象工厂

工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是我们本文将要学习的抽象工厂模式的基本思想。抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。package

2021-09-13 17:11:35 97

原创 设计模式2.2----工厂模式

简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂模式——工厂方法模式。工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。工厂方法模式又简称为工厂模式(Factory Pattern),又可称作虚拟

2021-09-13 16:43:18 110

原创 设计模式2.1----简单工厂模式

简单工厂模式简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。假设我们要建一个食物工厂:首先需要一个抽象接口Food:

2021-09-13 16:27:21 115

原创 设计模式1----单例模式

单例模式单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。饿汉式:即在类加载的时候就创建好对象;public class Singleton { private volatile static Singleton instance = new Sin

2021-09-13 15:58:28 161

原创 Mybatis---ResultMap

ResultMapresultMap元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的长达数千行的代码。ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。一、字段映射如果数据库中表的字段与User

2021-09-13 14:53:57 386

原创 SpringBoot

SpringBoot:一言以蔽之,SpringBoot用来简化Spring开发。虽然 Spring 的组件代码是轻量级的,但它的配置却是重量级的(需要大量 XML 配置) 。为此,Spring 2.5 引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式 XML 配置。Spring 3.0 引入了基于 Java 的配置,这是一种类型安全的可重构配置方式,可以代替 XML。官网说明:Spring Boot makes it easy to create stand-alone, prod

2021-09-13 11:03:05 149

原创 二三树----红黑树

红黑树红黑树是常用的一种数据结构,TreeMap、TreeSet以及JDK1.8的HashMap底层都用到了红黑树。简单来说红黑树就是为了解决二叉查找树的缺陷,因为二叉查找树在某些情况下会退化成一个线性结构。红黑树本质上其实等价于2-3树,2-3树中2-节点等同于红黑树中的“黑”节点,2-3树中的3-节点等同于红黑树中的“红”节点+红边+“黑”节点。其中红节点表示和父节点是是一种并列的关系,由于在树的实现过程是一个二叉树,即每个节点最多只能存储一个元素,红节点的引入是为了表示2-3树的3节点的一种实现

2021-09-13 10:32:23 1317

原创 Docker

docker中文免费手册 [Docker — 从入门到实践]https://vuepress.mirror.docker-practice.com

2021-09-03 10:50:08 129

原创 Redis

Redis介绍:一个分布式缓存数据库;K-V存储模式;存储在内存中;高速;C语言开发;应用广泛:消息队列,分布式锁等等。常见数据类型:String : 字符串 set key value #设置 key-value 类型的值 get key # 根据 key 获得对应的 value exists key # 判断某个 key 是否存在strlen key # 返回 key 所储存的字符串值的长度。 del key # 删除某个 key 对应的值mset k1 v1 k2 v2

2021-09-03 09:46:04 229

原创 (SSM+SE)SSO(4.1 gateway网关)

网关本质上要提供一个各种服务访问的入口,并提供服务接收并转发所有内外部的客户端调用,还有就是权限认证,限流控制等等。Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 等技术开发的一个网关组件,它旨在为微服务架构提供一种简单有效的统一的 API入口,负责服务请求路由、组合及协议转换,并且基于 Filter 链的方式提供了权限认证,监控、限流等功能。新建一个module项目,叫gatewaypom.xml:<?xml versio

2021-08-26 19:32:48 493

原创 (SSM+SE)SSO(3.2 注册和配置中心)

注册中心Eureka和配置中心config server这两个呢都是spring cloud里的技术,使用也是很广泛的.先说eureka:首先把项目中关于nacos的部分都注释掉:创建一个新的module,eureka不像nacos,需要自己创建module,添加依赖和进行相关的配置:添加依赖: <dependency> <groupId>org.springframework.cloud</groupId>

2021-08-23 20:14:47 213

原创 (SSM+SE)SSO(3.1 注册和配置中心)

注册中心和配置中心记录两套配置,一个是Nacos,既是注册中心也是配置中心.二是注册中心Eureka和配置中心config server.Nacos:Nacos的主要作用有两个:一是注册中心,二是配置中心.下载和配置:下载:https://github.com/alibaba/nacos/releases下载并解压后 打开nacos目录下的conf文件夹,比如我得路径是D:\nacos\conf找到两个重要文件application.properties和nacos-mysql.sql.首

2021-08-21 11:27:26 350

原创 (SSM+SE)SSO(2 resource)

我们开始resource部分的配置:先做一下准备工作:我们新建一个common的module,用于存放公用的代码,比如上次使用的两个工具类以及实体对象类:pom文件如下:<?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"

2021-08-09 15:07:58 128

原创 (SSM+SE)SSO项目(1)

SSO项目笔记一、项目结构:新建一个Maven项目,取名为HandsomeAq_SSO,它有4个子module,分别是:auth:负责权限管理gateway:负责网关管理resource:负责资源管理web:负责前端管理在HandsomeAq_SSO的pom文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt

2021-08-07 14:54:30 321

原创 SSM总结Part3----将MyBatis替换为MyBatisPlus

1、MyBatis-Plus官网:https://baomidou.com/以下资料转载自官网MyBatis-Plus(opens new window)(简称 MP)是一个MyBatis(opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置...

2021-07-01 19:49:27 1068

原创 SSM总结Part2----Mybatis(Springboot整合mybatis)

(1)新建一个springboot项目在选择依赖的时候选择Spring Web,Mysql和Mybatis。(2)在resources里创建yml文件#YML默认读取时采用UTF-8spring: application: name: mybatis datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/jt?serverTimez

2021-07-01 19:21:35 178

原创 SSM总结Part1----Spring

1、Spring1.1什么是Spring?先贴一段官方文档的说明:Spring框架是一种轻量级解决方案,是构建企业级应用程序的潜在一站式服务。然而,Spring是模块化的,允许您只使用您需要的部分,而不必引入其他部分。您可以使用IoC容器,上面有任何web框架,但是您也可以只使用Hibernate集成代码或JDBC抽象层。Spring框架支持声明性事务管理、通过RMI或web服务对逻辑的远程访问,以及用于持久化数据的各种选项。它提供了功能齐全的web框架,如Spring MVC和Spring W

2021-07-01 14:56:00 185

原创 MySql学习笔记

一、SQL:1、什么是SQL:SQL,全称 Structured Query Language,是一种结构化查询语言,数据库访问语言。自1970年代诞生到现在。2、SQL的功能:SQL 可用于在数据库中增加,删除,修改,查询数据;SQL 可用于新建数据库,新建数据表;SQL 可用于新建视图,函数;SQL 可用于简单的数据清洗;SQL 可用于简单的数据分析;SQL 可搭配 Hive,Spark SQL 做大数据;SQL 可搭配 SQLFlow 做机器学习;SQL 可搭配一定的工具

2021-06-01 19:38:17 696

原创 Java笔记01——JAVA基础部分

一、Java相关概念:1、Java的特点:(1)面向对象。(2)跨平台性。(3)多线程。(4)安全可靠。(5)自动回收内存。2、JVM & JDK &JRE:(1)JVM:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java的运行过程如下:.java(源代码)-------->.class(字节码)--------&g

2021-05-20 17:17:33 389

原创 [阿强的自学之路]----Scala学习笔记 Day09:面向对象5 抽象类和伴生对象

抽象类:定义没有方法体的方法,该方法由其子类来具体的实现。该没有方法体的方法我们称之为抽象方法,含有抽象方法的类我们称之为抽象类。抽象类可以理解为是一个只有方法声明没有方法体的特殊类。举例:水果,动物。。(尚未完成)...

2021-05-11 15:40:36 153

原创 【JAVA写着玩儿】---冒泡,快排,二路归并

冒泡法:public class MaoPao { public static void main(String[] args) { int[] a = new int[20]; int[] a1 = RandomArray(a); System.out.println(Arrays.toString(a1)); maopao(a1); System.out.println(Arrays.toString(a1))

2021-05-11 11:55:10 101

原创 [阿强的自学之路]----Scala学习笔记 Day09:面向对象4 继承和多态

213

2021-05-11 11:13:13 191

原创 [阿强的自学之路]----Scala学习笔记 Day08:面向对象3 封装

封装:封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它 部分只有通过被授权的操作(成员方法),才能对数据进行操作。Java 封装操作如下:(1)将属性进行私有化(2)提供一个公共的 set 方法,用于对属性赋值(3)提供一个公共的 get 方法,用于获取属性的值Scala 中的 public 属性,底层实际为 private,并通过 get 方法(obj.field())和 set 方法 (obj.field_=(value))对其进行操作。所以 Scala ..

2021-05-10 16:38:03 136

原创 [阿强的自学之路]----Scala学习笔记 Day08:面向对象2 类和对象

类和对象的定义:先回顾下Java中类和对象的定义:对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。类的基本语法:[修饰符]class类名{ 类体}java中一个源文件只有一个public的类,但是在scala中没有public,可以写多个类。总结scala类的特点:1、scala中并不声明public,而是默认所有类都是public。...

2021-05-10 14:20:53 173

原创 [阿强的自学之路]----Scala学习笔记 Day08:面向对象1 Package

面向对象:SCALA的面向对象与Java相似,但是有一些不同。一、Package:1、包的命名规范:小写字母+原点+小写字母。。。。如:com.scala.learnscala2、包的嵌套调用:在Java中我们用(.)来声明一个包,如:Package Java;在Scala中也可以如此,但是还有一种更有趣的嵌套调用的方式:package com{ package scala{ package learn{ object scala_test

2021-05-10 11:38:23 164

原创 [阿强的自学之路]----Scala学习笔记 Day07:函数的闭包、柯里化、递归、控制抽象和懒加载

#123

2021-05-08 10:15:41 164

原创 [阿强的自学之路]----Scala学习笔记 Day06:函数的高级用法

函数的高级用法:1、函数可以作为值进行传递:def fun1(a:Int):Int = { return a+1}val f1 = fun1(3)//得到的是函数的返回值val f2 = fun1 _ //用“空格”+“_”的表示对函数本身的调用println(f1)printle(f2)运行结果为:4function_learn.High_Order_Function$$$Lambda$1/1023892928@31b7dea0f2的返回值是一个地址。.

2021-05-07 10:30:16 756

空空如也

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

TA关注的人

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