自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 小白学习Vue(13)--vue-route的使用

13. vue-router的使用: 13.1. 关键步骤: 13.2. 举个栗子: 13.3. 代码实现: 13.4. 可能出现的错误:13. vue-router的使用:传统的页面应用,是用一些超链接来实现页面的切换和跳转。在vue-router单页面应用中,则是通过路径之间的切换,也就是组件的切换路由模块的本质 就是建立起url和页面之间的映射关系。 13.1. 关键步骤: 下载:npm i vue-router -S 引入:import VueRouter from 'vu.

2020-11-22 22:15:41 15

原创 小白学习Vue(12)--axios的封装使用 | devServer.proxy的配置 | 前后端分离调用请求

12. axios的封装: 12.1. axios的安装引入:  12.1.1. 安装:  12.1.1. 引入以及import/export: 12.2. vue.config.js的配置: 12.3. axios的封装:12. axios的封装:项目中会有很多请求,一般我们都会将axios的get、post请求方式进行封装,这样在使用的时候会方便、美观很多 本文使用了webstorm对vue进行前端分离,所以要准备好vue的环境,可以参考:环境安装及项目构建 12.1. axios的安.

2020-11-22 17:18:49 42

原创 小白学习Vue(11)--环境安装及项目构建 | webstorm构建vue项目

11. 环境安装及项目构建: 11.1. node.js下载安装: 11.2. npm修改全局下载和缓存路径(可选): 11.3. vue-cli相关插件下载:  11.3.1. vue.js安装:  11.3.2. vue-cli安装:  11.3.3. 设置vue环境变量: 11.4. 项目构建: 11.5. 项目启动:  11.2.1. webpack离线包下载:11. 环境安装及项目构建:vue项目快速构建需要脚手架(vue-cli)的支持,类似web项目可以通过maven快速构建;vue项.

2020-11-20 21:46:37 39

原创 小白学习Vue(10)--axios发送请求 | post请求参数

9. axios发送请求 9.0. axios的引入: 9.1. axios的基本使用:  9.1.1. axios发送get请求  9.1.2. axios发送post请求: 9.2. axios使用别名发送请求:  9.2.1. axios.get()发送get请求  9.2.2. axios.post()发送post请求9. axios发送请求Axios 是基于 promise 对Ajax的封装 9.0. axios的引入:和Vue一样,对于初学者,推荐使用cdn形式引入:<.

2020-11-16 23:25:01 841 3

原创 小白学习Vue(9)--箭头函数 | this指向 | 指令缩写

9.1 箭头函数: 9.1.1. 无参多行形式: 9.1.2. 无参单行简写形式: 9.1.3. 有参多行形式: 9.1.4. 有参单行简写形式:9.2 this指向:9.3 常用指令指向:9.1 箭头函数:通过function关键字我们可以定义一个函数,此外我们也可以通过箭头=>来定义;形式:(参数)=> {//函数实现}; 9.1.1. 无参多行形式:<script> const a = () => { console.log("无参多.

2020-11-15 20:38:11 23

原创 小白学习Vue(8)--动态组件(<component v-bind:is=““>的使用)以及keep-alive

8. 动态组件: 8.1. 【栗子】: 8.2. keep-alive:8. 动态组件: 通过 Vue 的 <component> 元素加一个特殊的 is attribute 来实现: 8.1. 【栗子】: 通过v-for来构建多个button,一般和v-bind:key=""一起使用,能提高效率什么的;点击button时,会改变currentTab值为对应tab值  <component v-bind:is="currentTabComponent"><.

2020-11-14 23:04:42 42

原创 小白学习Vue(7)--实例方法/生命周期(vm.$nextTick | vem.$mount)

7. 实例方法/生命周期 7.1. vm.$mount( [elementOrSelector] ) 7.2. vm.$forceUpdate() 7.3. vm.$nextTick( [callback] ) 7.4. vm.$destroy()7. 实例方法/生命周期 7.1. vm.$mount( [elementOrSelector] ) 用于手动挂载一个未挂载的实例,方法返回实例本身,elementOrSelector为需要挂载到的dom节点<div id="test-inst.

2020-11-14 20:13:35 48

原创 小白学习Vue(6)--实例方法/数据(vm.set | vem.delete | vm.watch )

4.3. vm.$set | vm.&delete:使用上和全局Api的Vue.set和Vue.delete一致,可点击链接查看,然后对比一下<div id="test-instanceSet"> <p>position: {{work.position}}</p> <button v-on:click="changePosition">ChangePosition</button> <button v

2020-11-14 15:25:59 15

原创 小白学习Vue(5)--实例选项介绍及例子(props | computed | watch | component等)

5. 实例选项/数据 5.1. data:vue实例的数据对象,实例创建后,可以通过vm.$data获取元素数据对象,data类型可以是object也可以是function函数  5.1.1 data为object类型: 内部的属性可以是String、Boolean、数值、数组、object等等 但内部属性名不能以_或命名开头(如name、命名开头(如_ name、命名开头(如n​ame、name),可能会与vue内置的属性冲突 在页面上可以通过{{}}插值表达式直接获取属性值, 在

2020-11-14 14:52:27 52

原创 小白学习Vue(?)--model选项的使用(自定义组件文本框双向绑定)

1. model选项:v-model在普通dom的表单标签上使用可以实现双向绑定,但在自定义组件标签中就不行,其要实现双向绑定需要model选项来实现理解这个属性,可以很好的理解v-model的绑定原理,可以对照v-model的使用来浏览本文1.1. <input>文本框 刚开始加载时,<span>标签取的{{name}}是vue实例的属性值,所以会显示bbb 而渲染子组件时,子组件绑定的value是子组件中data的value,所以会显示aaa 输入时,输

2020-11-14 13:57:58 68

原创 小白学习Vue(?)--v-model在表单中的使用

1. v-model指令:v-model 指令在表单<input>、<textarea> 及 <select> 元素上创建双向数据绑定v-model 会忽略所有表单元素的 value、checked、selected attribute 的初始值而总是将 Vue 实例的数据作为数据来源本文只讨论v-model在普通dom标签上的使用,关于自定义组件的model选项,可以查看【xxx】1.1. <input>文本框中使用:<div i

2020-11-13 19:33:07 28

原创 小白学习Vue(4)--实例方法/事件(vm.$emit | vm.$on | vm.$once | vm.$off)

4. 实例方法/事件: 4.1. vm.\$on | vm.\$once | vm.\$off: 4.2. vm.$emit( eventName, […args] ):4. 实例方法/事件:包括vm.$on、vm.$once、vm.$off、vm.$emit、参考:vue官网 4.1. vm.$on | vm.$once | vm.$off:vm.$on( event, callback ) | vm.$once( event, callback ) | vm.$off( [event.

2020-11-12 20:35:31 41

原创 小白学习Vue(3)--全局Api(Vue.set | Vue.directive | Vue.component等)

3. 全局Api: 3-1. Vue.set()&&Vue.delete() 3-2. Vue.directive( id, [definition] ) 3-3. Vue.filter( id, [definition] ) 3-4. Vue.component( id, [definition] ) 3-5. Vue.extend( options ) 3-6. Vue.use( plugin )3. 全局Api:全局:任何地方都可以使用 3-1. Vue.set()&amp.

2020-11-11 23:26:59 194

原创 小白学习Vue(2)--生命周期

0. 生命周期的钩子函数有:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestory、destoryed这从名称也能知道在什么位置调用的【栗子】:div id="test-lifecycle"> <span>message: {{message}}</span><br/> <span>returnMsg:{{returnMsg}}&l

2020-11-11 20:35:00 20

原创 小白学习Vue(1)--插值表达式和指令

插值表达式和指令0. Vue引入:1. 插值表达式{{}}:2. vue指令: 2.1.1. v-bind指令: 2.1.2. v-if&v-else-if&v-else&v-show指令: 2.1.3. v-for指令: 2.1.4 v-on&v-once指令: 2.1.5 v-model指令: 2.1.6 v-html指令:0. Vue引入: 初学vue,推荐在html中直接引入vue.js <script src="https://cdn.jsde

2020-11-10 23:00:42 30

原创 数据结构之单链表及单链表反转过程

1. 【栗子】:public class Note { private int id; private Object date; public Note next; public Note(int no, Object date) { id = no; this.date = date; } @Override public String toString() { return "Note{" +

2020-10-24 22:26:57 20

原创 synchronized的理解使用及锁的状态和升级

1. synchronized使用:synchronized作为保证线程安全的常规手段之一,其可以修饰实例方法、静态方法和代码块 修饰实例方法,锁住的是实例对象this 修饰静态方法,锁住的是类对象 修饰代码块,锁住的是括号内的对象2. synchronized的原理 2.1. Monitor每一个对象都关联一个监视器锁(monitor),当monitor被占用时就会处于锁定状态。在Java虚拟机(HotSpot)种,monitor是由ObjectMonitor实现的,内部主要有_

2020-10-21 23:00:55 95

原创 原子类--AtomicInteger的理解使用及例子

在多线程下对同一资源进行操作(如i++),会产生线程安全问题;我们可以使用synchronized来保证线程安全,但这比较耗性能如果像这类简单的运算,我们可以使用原子类来代替,原子类本身是线程安全的。【举个栗子】:以下栗子,我们启动三条线程对共享变量count进行自增(每个线程任务自增1000),当然我们最后期望线程结束后,自增结果为3000public class Task implements Runnable { private int count; private C.

2020-10-16 23:02:44 39

原创 ThreadLocal的理解使用,在SimpleDateForma的应用

package com.thread.threadlocal;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;/** * @Deacription * @Author LLLing * @Date 2020/10/12 20:33 * @Version 1.0 **/public class JDBCUtil { private static final

2020-10-12 22:23:08 24

原创 MySQL存储过程创建例子

1. 无参数输入的存储过程:DELIMITER $$DROP PROCEDURE IF EXISTS `testUser`;CREATE PROCEDURE testUser()BEGIN SELECT * FROM `user` WHERE name = 'zz';END $$DELIMITER ;//调用CALL testUser(); 【说明】:SQL 语句默认是以分号作为语句结束标志,DELIMITER $$则将语句结束标志改为$$,保证存储过程的完整, 因为存储过程中可

2020-10-10 21:33:45 51

原创 设计模式(3)--原型模式概念要点及例子说明

原型模式就是用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象好比我要生产10000台电脑,正常需要一步步组装CPU、GPU等组件,而原型模式,就是在已经组装好的电脑,通过复制(克隆)来形成新的电脑1. 原型模式实现:原型类要实现 Cloneable 接口然后重写clone方法即可原型模式的克隆分为浅克隆和深克隆。 浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。 深克隆:创建一个新对象,.

2020-10-07 13:09:48 26

原创 设计模式(2)--工厂模式概念要点及例子说明

所谓的工厂模式,就是将对象的创建交给一个工厂类来管理创建,使用者不需要关注对象的创建,就能更好关注其业务使用工厂模式又可以分为简单工厂模式,工厂方法模式和抽象工厂模式。1. 简单工厂模式:工厂的核心功能是生成电脑,所以有核心的抽象类或接口Computer根据核心接口进行扩展,派生处具体的工厂产品,华为电脑(HWComputer)和苹果电脑(AppleComputer)public interface Computer {}public class HWComputer implem.

2020-10-06 16:37:22 35

原创 设计模式(1)--单例模式概念要点及例子说明

0. 要点: 私有构造方法 本类中提供一个静态本类对象 对外提供一个获取实例的方法1. 双重校验的单例模式: 该方式的单例模式是基于懒汉式的单例模式 双重校验能保证线程安全,且避免每次获取对象都去synchronized加锁,只有单例对象为null时才去加锁创建实例对象 此外静态对象要加volatile修饰,这样能够禁止JVM的指令重排; 在14行new创建实例对象时,JVM会先为对象分配空间,然后初始化对象,再将对象引用赋给singleton 但是初始化和引用赋值由于编译器、C

2020-10-03 22:06:32 24

原创 Git常用场景使用-分支操作

    1. 拉取推送分支:​     git branch 分支名 : 创建分支​     git checkout 分支名 : 切换分支​     git checkout –b 分支名 : 创建并切换到新分支​     本地拉取分支

2020-09-29 22:33:38 35

原创 SpringBoot(3)-MVC自动配置及自定义视图控制器

 0. 主要类:WebMvcAutoConfiguration: MVC的自动配置类EnableWebMvcConfiguration: 启用WebMvcConfiguration的类DelegatingWebMvcConfiguration: WebMvcConfiguration委托的代理类WebMvcConfigurerComposite: “具体WebMvcConfiguration的委托类”`WebMvcAutoConfigurationAdapter: MVC自动配置适配器,其实

2020-09-26 20:13:52 78

原创 SpringBoot(2)-MVC执行过程

0. 基本过程:文字流程:1). 用户发送请求至前端控制器DispatcherServlet2). DispatcherServlet收到请求调用处理器映射器HandlerMapping。3).处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。4). DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行Handle

2020-09-26 20:13:03 86

原创 SpringMVC执行过程-HandlerMapping初始化&handlerMap初始化

基础环境:  spring-boot :2.3.3.RELEASE、jdk1.80. 背景: 通过以下方式可以自定义视图,即访问/testView会跳转success.html页面 那么这样设置的原理是什么?本文就是探讨这个问题@Configurationpublic class MyConfigure implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerR.

2020-09-26 20:11:46 135

原创 SpringBoot(1)-容器组件自动配置

基础环境:  spring-boot :2.3.3.RELEASE、jdk1.8@SpringBootApplication:主配置类注解 标注此注解的类就是SpringBoot的主配置类,启动该类来启动应用。 这是一个组合注解,主要关注@EnableAutoConfiguration自动配置@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfi.

2020-09-21 21:29:42 39

原创 PowerMockito单元测试(4)-异常覆盖的方式

4. 异常覆盖的方式: 4-1. 触发异常方法的对象可以mock,在调用的时候触发异常,那么可以使用doThrow来操作//a.对异常打桩DataAccessException exception = PowerMockito.mock(DataAccessException.class);//b.模拟try内的方法,doThrow异常PowerMockito.doThrow(exception).when(userMappers).getUsers(“test”)//c.模拟catch内的方

2020-09-14 21:15:23 51

原创 PowerMockito单元测试(3)-私有静态方法单元测试与stub方法

3. 私有静态方法单元测试: 【公共方法&私有方法】:public class UserUtil{ public static String generateUserToken(String userId){ if(StringUtils.isEmpty(userId)){ return StringUtils.EMPTY; } PublicKey key = getPublicKey(userId); if(key == null){ return Strin

2020-09-13 22:48:07 31

原创 PowerMockito单元测试(2)-返回void的方法测试覆盖

  2. 返回void的测试覆盖 【要测试的方法】:@Componentpublic class UserDao{ @Autowired private UserMapper userMapper @Autowired private SystemErrorRecoder systemErrorRecoder public void putUser(UserDTO userDto){ try{ userMapper.putUser(userDto); }catch(Dat

2020-09-13 20:47:48 33

原创 PowerMockito单元测试(1)-主要思想以及常规异常覆盖

        1. 测试主要操作步骤:        【要测试的方法】:@Componentpublic class UserDao{ @Autowired private UserMapper userMapper @Autowired private SystemErrorRecoder systemErrorRecoder

2020-09-12 22:55:03 45

原创 (java1.8)-Stream API 常用方法及例子

3. Stream API:        数据渠道,主要是操作数据源(集合,数组等),进行中间操作,获取结果【特点】:            A:Stream本身不存储任何的元素。            B:Stream只

2020-08-19 21:27:26 82

原创 (java1.8)-Lambda表达式常用方法

Lambda表达式:匿名函数        Jdk1.8引入Lambda表达式,使用新的操作符:"->",该操作符被称为箭头操作符或Lambda操作符。​            A.理解为Lambda就是对接口的实现:函数式接口(只有一个抽象方法)   &nb..

2020-08-16 23:26:20 47

原创 (IO操作)多线程解压-解压后修改文件-多线程压缩文件

package cn.com.ciitc.szusedcar.saa.utils;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStrea

2020-08-13 23:38:58 50

原创 Git常用场景使用

    1. 本地存在多个commit:【场景】代码和远程仓库一致,本地修改后,存在多次本地commit,直接push最新的提交,push成功,但本地多次commit记录也会记录到远程仓库中【举例】第一次提交:添加File1文件,文件内容666666               第二次提交: 添加File2文件,文件内容8

2020-08-08 23:50:12 47

原创 Git常用命令(Git常用命令)

    1. 配置user信息:    git config --global user.name “your_name”    git config --global user.email “your_email”2. 显示config信息:    git config --list --global3. 建立Git本地仓库:&nb

2020-08-08 23:08:38 33

原创 aJax请求不走后台405排查

     本地起tomcat服务默认是http的,但是ajax请求的url是https,也就是跨域了。     然后不走后台,浏览器F12显示405     所以要配置一下tomcat,参考tomcat8.5配置https     配置完后,Idea的路径中不用写端口号了     比如:&n

2020-06-18 22:55:35 69

原创 为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?以及为什么使用在while循环里

wait()在同步方法/代码块中调用原因:     wait()属于Object方法,调用之后会强制释放当前对象锁,所以在 调用某对象的wait()方法之前,当前线程必须先获得该对象的锁。因此,wait()方法在同步方法/代码块中调用。notify()/notifyAll()在同步方法/代码块中调用原因:     调用wait()后,释放了对象锁,并将线程放入这个对象的等待队列(池),当执行notify()/notif

2020-05-14 23:19:58 156

原创 java的装饰者模式了解及例子

模式定义:     在不改变原有对象的基础上,动态地给对象增加一些额外的职责/功能。     主要就是用来扩展类,对修改关闭,对扩展开放。装饰者模式必然有一个公共的接口或抽象类,用来作为对象的传递举个栗子:     有一杯水,想加点奶,然后再加点珍珠,还想再加点冰块。     Water接口类:public interface

2020-05-10 23:49:11 78

231231312.zip

oracle11g实例没有scott用户,添加需要的scott.sql文件。

2020-05-04

空空如也

空空如也

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

TA关注的人 TA的粉丝

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