自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YKG

  • 博客(45)
  • 收藏
  • 关注

原创 Vue中各个生命周期阶段的源码探究--mounted阶段

文本将对Vue的mounted阶段进行解析。使用的测试代码和之前的一样。vue版本v2.5.17-beta.0测试代码:<div id="box"> I love vue <ul> <li v-for="item in data" @click="logChange(item.NAME,i

2018-12-06 23:16:43 1359

原创 Vue中各个生命周期阶段的源码探究--beforeMount阶段

前面已经讲到了beforeCreate和created阶段,现在来分析一下beforeMount阶段,见名知义,就是元素挂载之前,来看一下这里主要做了什么。

2018-12-04 22:18:14 2491

原创 Vue中各个生命周期阶段的源码探究--beforeCreate和created阶段

本文主要探讨一下,Vue的一个大致运行流程,我们知道,它的生命周期包括,beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed。但这里讨论只包含beforeCreate,created,beforeMount,mounted,因为探讨的过程只涉及Vue实例创建,事件生命周期、数据监听...

2018-11-24 16:44:20 9612 1

原创 ECMAScript5中的关于数组的常用方法

在javascript中 ,对操作数组的常用方法push();pop();unshift();shift();join();splice();slice();join();split();concat();等,其实这些方法在ECMAScript3中已经引入,这些方法可以在一定程度上简化对数组的操作,但在ECMAScript5中也引入了一些新的方法,包括对数组的遍历,过虑,化简等操作,这些方法都提供...

2018-08-11 11:13:56 321

原创 javascript中创建不可变的类以及命名空间的定义

我们知道,在javascript中通常实例化一个类时,所产生的对象其属性是可以变的,也就是可以把它删除,但通过使用ECMAScript中的一些工具方法,可以将这些对象属性封装得更好;而当我们想开发一个工具库时,就要涉及到模块的概念,模块避免我们的工具库对命名空间的污染。 一、定义一个不可变的类function Range(from,to){ var props = { ...

2018-08-04 10:23:07 295

原创 Javascript中对象类型的判断

我们知道,javascript不像java,c++这样的强类型语言一样,都能通过class关键字来定义一个类,在javascript中,对象的类其实是通过函数来表达的,但需要注意的是,构造函数只是类的公共标识,原型才是类的唯一标识,下面简要说明一下,在javascript中的几种判断对象类型的方法。 1、instanceof判断 该运算符,左边操作数是一个对象,右操作数是该对象所属的“类”,不...

2018-07-29 11:13:09 1228

原创 Javascript中与正则表达式相关的常用方法解析

正则表达式是Javascript中一个重要特性,可以对相关字符串进行模式匹配,查找,以及替换,可以通过正则表达式直接量和RegExp函数进行创建,与之相关的方法有两种,即:字符串中的方法和正则表达式对象的方法。 一、字符串中的方法 1、search()方法 它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配的子串,它将返回-1。如果search()方法参数不是正则表...

2018-07-22 10:35:31 176

原创 使用javascript生成级联菜单

在做某些管理系统时,大多数情况都会用到级联菜单,可以对项目中的各个模块进行组织和管理,同时每个模块一般会有多个页面,所以针对这些情况就要生成指定功能的菜单了。下面是基于jQuery的简单的级联菜单。 html中的布局采用如下结构:<ul id="rootMenu"> <li> <div style="background: #00...

2018-07-14 11:02:10 1009

原创 mybatis基本配置

Mybatis 是一款非常方便的持久层框架,它对JDBC进行了封装,从而让我们在使用它时,可以避免几乎所有的JDBC代码。SQL语句配置在XML文件中,从而让配置变得更加灵活,它的CRUD在配置文件中分别用四个元素来表示。即inert,delete,update,select。另外,它是通过核心的SqlSession对象来获取配置文件中的信息,其实整个框架都是以该对象为基础的,下面简要说明一下,它...

2018-07-08 10:15:07 309

原创 MySQL查询最大值(最小值)或前n个最大(最小)值的方法分析

在实际中,我们可能会有这样的需求,就是从数据库中查出某个字段的最大值或最小值,或者查出前n个最大(最小)值。例如,查出某个学生成绩中最好的一个或者查出排名在前5名的学生成绩等。下面简要给出一些示例查询代码。我们的表结构如下图: stuname字段相当于学生的姓名,score代表分数,id为主键 ; 表数据准备如下: 一、查询最大(最小值) 在这里我们要分别查询出某个学生中的分数...

2018-06-30 11:30:51 151925 6

原创 MySQL中聚合函数count的注意事项

MySQL中有很多函数,包括字符串函数、数值运行函数、日期时间函数、聚合函数、加密函数等,这些函数可对SQL语句中的字段进行处理,但在这里主要讲一下聚合函数count的使用场景。 我们知道,这个函数是用来计数的,通常的用法是直接对记录进行统计: 例如我们要查询下面这张表(表的数据是乱写的) 当我们执行SELECT COUNT(brand) FROM goodtable;这个SQL语句时,...

2018-06-23 10:36:45 4629 1

原创 springMVC做一个简单的MVC应用

MVC大家都比较熟悉,M(model层,控制业务逻辑和数据逻辑),V(View层,为视图层,负责页面的显示,例如html,jsp等),C(控制层,在这里可以接收前端传过来的数据,调用后台逻辑,将数据共享到作用域中,页面跳转等,这种分层开发很容易使各个模块解耦合,容易管理和维护,各层使用什么技术都不会影响到模型中的其它层次,本文主要阐述一下用springMVC来体现这种开发模式的特点,下面是一个简单...

2018-06-16 10:58:55 272

原创 配置一个简易的springMVC应用

我们知道,spring中有它自己的MVC框架,该框架是以注解的方式来配置控制器(Controller),它可以映射请求url、请求参数、请求头以及Cookie值。其中控制是通过@Controller注解来标识,@RequestMapping可以映射请求url,@RequestParams映射请求参数、@RequestHeader映射头、@CookieValue映射Cookie,还有就是@PathV...

2018-06-09 10:15:16 283

原创 Vue中计算属性(computed)和监听属性函数watch的比较

我们知道,在Vue中,可以通过一个计算属性和watch函数来监听某个数据属性的变化,但这两者有一定的差别。在这里就做一下简要探讨。 1、计算属性适用的情形 我们可能会有这样的需求,一个数据属性在它所依赖的属性发生变化时,也要发生变化,这种情况下,我们最好使用计算属性。 例如在下面这个例子中,如果我们使用监听函数,代码就会变得有点冗余。<div id="demo">{{ f...

2018-06-04 23:38:25 12695 1

原创 Spring中JDBC的批量操作

Spring框架也对JDBC进行了封装,它简化了JDBC操作,它是通过JdbcTemplate这个类来完成的。例如这个类的对象有一个batchUpdate()方法,可接收一个BatchPreparedStatementSetter的一个实现类实例。 1、JdbcTemplate的基本的批量操作 来看下面的代码:public class JdbcActorDao implements A...

2018-05-26 11:38:10 2285

原创 Spring中“说明式”事务管理

在Spring中,说明式事务管理被大多数 Spring使用者使用,这种方法可以使用你的逻辑代码与事务管理代码分离,达到解偶合的目的。它可以和AOP一起使用,在这里你可以自定义事务相关行为。 当然这里对回滚的理解也是很重要的,在Spring的事务管理中,只要RuntimeException子类的异常抛出,事务就会回滚。 1、对Spring中的说明式事务实现的理解 这里面的实现机制其实是通过...

2018-05-19 18:53:32 142

原创 EasyUI中数据表格的常见用法

本文不会说得太多,在这里主要阐述一下EasyUI中数据表格的一些常见功能,主要有两点:表格的嵌套显示和表头多行显示的配置。 1、表格的嵌套显示 在使用这个功能时,我们还要引用一个js文件,datagrid-detailview.js这个文件可以到它的官网上下载,下面是我们一个项目中所用的相关代码片断:page.app_Grid = $('#approveGrid').datagrid({...

2018-05-12 09:36:52 2255

原创 Spring的AOP编程

Spring 中的AOP编程是与JAVA中OOP同等的,在OOP中模块的基本单位是类,而在AOP中模块的基本单位是切面,其实AOP的底层还是通过代理来实现的。 一、基本术语 1、Aspect 将横切多个业务对象的程序独立出来模块化,该模块可以无侵入式地集成到业务对象中。 如,事务、日志、权限 2、Advice 是指切面的具体实现,如记录日志、验证权限 通知有各种类型,其中包括”bef...

2018-05-05 18:28:40 172

原创 Spring中基于JAVA代码的Bean配置

在Spring中,Bean的配置可以用两种方法实现,第一种是基于XML配置文件,第二种就是本文要阐述的基于JAVA代码配置,而这种配置又是通过注解来实现的,所以本文先简要总结一下注解,然后再阐述基于JAVA代码的Bean配置。 1、注解 在JAVA中注解其实就是嵌套在JAVA 代码中的元信息,起到辅助和配置的作用,它并不会改变代码的逻辑。 注解以可分为元注解和复合注解,在JAVA中元注解主要...

2018-04-29 10:13:31 1348

原创 Spring框架的BeanPostProcessor的小结

Spring框架中,最主要的一个特性就是依赖注入(Dependency Injection),在我看来,这个特性离不开回调函数,回调函数作用就是将在外部调用该函数时传的参数值通过函数形参传给回调函数的。而BeanPostProcessor其实它的实现方式也是基于依赖注入的。下面就简要说明一下BeanPostProcessor机制。 1、一个Hello World的BeanPostProcesso...

2018-04-21 09:50:21 610

原创 JAVA的Spring依赖注入

Spring依赖注入方式主要有两种,即设值注入和构造函数注入。设值注入是通过类中某个属性的Setter、Getter方法完成,构造函数注入是通过创建对象时调用相关的构造函数完成。本文主要阐述一下,两种注入方式的实现方法以及他们对应的另一种简洁方法。 其中配置内容(容器)是放在类路径中文件命名为bean.xml 1、设值注入 这种方式的bean中对应JAVA代码如下:package com...

2018-04-14 15:55:43 152

原创 Hibernate关联映射

本文讲解Hibernate关联映射的例子,以订单和客户之间的关联关系来说明。我们知道,在一个电商网站中,一个客户可以有多个订单,反过来多个订单可以属于同一个客户。那么在Hibernate中怎样把这里面的关联关系映射好,是下面要阐述的问题。 首先我们要在数据库中创建两张表一个是客户表另一个是订单表。内容如下: 客户表: 这个表包含一个主键id以及用户名称(username)。 订单表: ...

2018-04-05 09:59:29 84

原创 JAVA中Hibernate基本配置

Hibernate是一个ORM(对象关系映射)框架,它研究的是如何以面向对象的方式来操纵数据库,其底层实现是JDBC。但使用它我们可以极大地简化了对数据库的操作(CRUD),这里所体现的映射主要是java中类结构与数据库中表结构中的映射、类结构中的属性成员与数据库中字段的映射以及继承映射、关联映射等。但本文要讲的是,其中的一些基本配置,以及如何让Hibernate运行起来。 在这里我使用的是hi...

2018-04-01 10:46:37 1552

原创 java中struts2国际化实现方法

在struts2中,国际化的方式其实有两种,第一种方式的大致思路是,根据所传入的语言和国家名称,创建一个Locale实例,然后将这个实例设置到作用域中,从而就可以根据不同的需要来加载不同的资源文件,这个方式需要写java代码。而struts2中还有一种更加简单的方式,本文就只简要绍介一下第二种方式的实现。 首先页面上的效果默认是这样的 当我们点击“中文”或“英文”时,页面的“用户名”和“密...

2018-03-25 11:47:37 289

原创 java反射技术

学过struts2的人都知道,这个框架中定义了很多拦截器,主要作用是在执行某个action前先过滤某些行为,当符合条件时才执行action中的方法。当然这也涉及到了另一种编程思想(AOP面向切面编程)。本文主要讲一下这里面的大致实现方式。其实它的实现模式分两种即代理模式和反射机制。代理模式又可分为静态代理和动态代理,而动态代理又是基于反射机制的。因为我先从代理问题开始讨论,由此引出反射机制问题。 ...

2018-03-20 22:35:51 145

原创 struts2文件上传简介

本文主要介绍struts2文件上传的简要操作步骤。目前我使用的版本是2.3.34。其实大致思路还是关于IO流的读写和struts1版本的实现思路是一样的,就是说先从页面中获得一个文件输入流,再根据输入流创建一个输出流,将文件写到一个文件夹中。具体步骤如下 : 首先我们先创建一个action代码如下:package com.ev.action;import java.io.File;im...

2018-03-18 12:37:31 339

原创 struts2.3.x中的基本配置、类型转换、通配符的设置

本文主要介绍struts2.3中的变量类型转换,同时也涉及到一些通配符的设置操作。我们知道,从页面上传到后台的数据都是以字符串的形式,不管是什么样的类型,例如日期、点坐标的数据,有时某些数据是要转换成一个对象的形式,所以这就涉及到类型问题。 在这之前,我首先要讲一下struts2的一些简单配置问题,第一步就是要引入相关资源文件。具体文件如下: 注意struts.xml应该放在类路径下。...

2018-03-17 13:46:28 148

原创 struts1文件上传示例简介

虽然现在在企业中已经很少使用struts1版进行开发了,但本文的主旨在于熟悉其框架中的思想,以及各个框架的一些区别。下面就struts1中文件上传的配置步骤作一下简要的说明。 首先,要相关的jar包,这点不管你是使用哪种框架都要做这步操作,这是没得说的。在引用相关的资源文件后,我们就要配置一些基本的actoin,这些配置步骤在这里就不做说明了,可参考我之前写过的一篇博文《java中struts ...

2018-03-14 21:31:15 589

原创 JAVA中关于”容器“的理解

众所周知,JAVA是一门强类型的编程语言,该语言有很多的特性,而本文所要讲的是关于JAVA中“容器”这一知识点的简要探究。在我看来,“容器”其实就是一种用来存储数据的数据结构,在JAVA中容器可分为即“集合”(Set)、“列表”(List)、“映射”(Map)。至于,为什么需要容器,总的来说,主要是在以数组作为数据的存储结构中,其长度难以扩充,同时数组中元素类型必须相同。而容器可以弥补数组的这两个...

2018-03-10 12:00:06 15084 1

原创 java的struts1.x框架的国际化小结

所谓的国际就是说一个软件界面可以根据不同的语言要求加载不同的资源文件,这些资源文件的内容就是用不同的语言来描述的。还有就是资源文件的命名也是有讲究的,一般常用的命名方式是:baseName_language_country.properties;也即baseName可以根据需要随便命名language和country分别指java中支持的语言和国家,如message_en_US.propertie...

2018-03-10 10:53:36 198

原创 java中struts 框架基本配置小结

struts 框架实现的功能属于mvc模式中的controller(控制层),以1.x版本为例,其包含了五大重要组件即Action、ActionServlet、ActionMapping、ActionForward、ActionForm,而这都是一些类,下面就这个版本的配置过程做一个小节。 首先要新建一个Dynamic Web Project 并导入相关的jar 包如何 并且也要引...

2018-03-04 14:03:17 732

原创 javascript中变量的类型转换

JavaScript中的取值类型非常灵活,当javascript期望使用一个布尔值的时候,你可以提供任意类型值,javascript将根据需要自行转换类型,一些真值转换为true,其他值转换为false。这在其他类型中同样适用:如果javascript期望使用一个字符串,它把给定的值 将转换为字符串。如果javascript期望使用一个数字,它把给定的值将转换为数字(转换结果无意义的话将返回NaN)

2017-06-05 10:11:07 449

原创 Javascript中的变量的特性

js中的数据类型分为两类:原始类型和对象类型。原始类型包括数字、字符串和布尔值。其中有两个特殊的原始值:null和undefined。它们分别代表了各自特殊 类型的唯一的成员。另外复合类型是指对象,它是属性的集合。包括普通对象、数组、函数、RegExp以及Error。

2017-06-04 09:46:28 813

原创 JQuery中常用的AJAX方法

一、AJAX概述      Ajax全称为“Asynchronous JavaScript and XML”(异步的JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页相关的技术所形成的结合体。它的出现,揭开了无刷新更新的页面的新时代,并有代替传统的Web方式和 通过隐藏的框架来进行异步提交的趋势,是Web开发应用的一个里程碑。      优势:

2017-05-06 21:12:54 655

原创 JavaScript中对象类型的汇总及相关方法的简介

在 ECMAScript 中,所有对象并非同等创建的。     一般来说,可以创建并使用的对象有三种:本地对象、内置对象和宿主对象。     本地对象    ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。简单来说,本地对象就是 ECMA-262     定义的类常用的本地对象有Func

2017-05-04 19:55:42 279

原创 javascript中面向对象特性、对象的创建方式及对象属性的特性

一、对象概述   对象是javascript的基本数据类型。对象是一种复合值:它将很多值聚合在一起,可以通过名字访问这些值。对象也可看做是属性的无序集合,每个属性都是一个名/值对。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。然而对象不仅仅是字符串到值的映射,除了可以保持自有的属性,javascript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。这种“原型

2017-05-03 23:41:42 269

原创 各个浏览器hack的总结

一、基本概念     所谓的浏览器hack是指由于不同版本的浏览器,或相同浏览器的不同时期的版本对css代码的识别存在一定程度的差异。而有时为了提高用户体验,我们不得不把其中的hack考虑在内,争取让页面在各个浏览器上显示达到一致。所以,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做C

2017-04-03 21:44:24 1156

原创 JQuery中的事件汇总

JQ中的事件与JS中的事件很类似,大体上可分为鼠标事件,键盘事件,以及一些网络事件。      其中的事件机制是指:jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定、事件解绑、事件触发。  事件绑定可分为:  1、简单事件绑定可分为以下类型:   click(handler)                       单击事件  blur(hand

2017-03-22 19:57:20 290

原创 原生JS实现AJAX的思路

AJAX在网站的数据交互中起着重要的作用,它在不用刷新整个网页的情况下,能对网页的局部内容进行更新。当然它并不是一种新的编程语言,而是一种使用现有标准的方法。      我们知道,在传统的网页数据交互中,都是遵循这样一个流程:首先是客户端向服务器发送请求,服务器收到相应请求后,将所有页面内容的数据一起返回到客户端,也就是整个html文档。这样做一个很明显的缺点是当页面中的某个位置需要更新时,数

2017-03-22 18:37:03 1197

原创 JQuery中常用选择器和方法的总结

JQuery是JS的一个类库,是大型开发必备人工具之一。在前端开发过程中,我们可以通过它简化JS的复杂操作、可以不用需要关心兼容性、同时它提供了大量实用的方法。但是需要记住的是,JQ中的思想还是基于原生JS的,它只是一个辅助工具,需要我们正确对待。在我看来,JQ其实可以分为两大内容,一个是选择器,一个是其封装好的方法。下面内容就是简要介绍一下,在实际开发项目中可能会用到的选择器和方法。

2017-03-09 18:54:36 2259

空空如也

空空如也

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

TA关注的人

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