06 2018 档案

摘要:用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 我们先来看Mapper接口中的@Select方法 package Mapper; @Mapper public interface Mapper { @Select("s 阅读全文
posted @ 2018-06-29 00:09 古兰精 阅读(45753) 评论(2) 推荐(8) 编辑
摘要:@Mapper public interface DemandCommentMapper extends BaseMapper<DemandComment>{ @Select("SELECT " + "a.id as 'id',a.create_date as 'createDate',a.cont 阅读全文
posted @ 2018-06-28 23:57 古兰精 阅读(71212) 评论(5) 推荐(5) 编辑
摘要:这里有个问题可以帮助我们更好的理解 @RequestBody 的处理机制。 一、问题背景 有时候我们在写接口时,需要把前台传来的日期String类型转为Date类型。这时我们可能会用到@DateTimeFormat注解,在请求数据为非JSON格式时,这个注解是没有问题的,可用的; 但是当请求数据为J 阅读全文
posted @ 2018-06-28 23:43 古兰精 阅读(13228) 评论(1) 推荐(4) 编辑
摘要:父组件: 子组件: 效果: 阅读全文
posted @ 2018-06-27 22:49 古兰精 阅读(4636) 评论(2) 推荐(1) 编辑
摘要:一、Base64编码介绍 1、Base64解决了什么问题 假如我们要在网络中传输下面的问题 你好 小朋友 我是砖家 你是谁? 这段文本中包含了空格、换行、回车等不可见字符,在网络传输中,各个设备对不可见字符处理机制可能不同,会存在信息传输错误的情况。此时我们就需要一种编码机制,把不可见字符统统转成可 阅读全文
posted @ 2018-06-27 22:06 古兰精 阅读(4572) 评论(0) 推荐(1) 编辑
摘要:问题背景:项目里面有用到背景图片,开发模式下正常,打包之后发现报404错误。查看发现是背景图片引用路径出错。 解决方法: build下由原来的相对路径 "./" 改为绝对路径 "/" 详细缘由: vue项目在打包之后背景图片访问出错? 首先,出错点在url-loader上面。 这里解释一下上面这段u 阅读全文
posted @ 2018-06-27 21:24 古兰精 阅读(1917) 评论(0) 推荐(0) 编辑
摘要:一、问题背景 1、安装 pm2,执行:npm install -g pm2 2、输入 pm2 -v 后报错 pm2: command not found 二、解决办法 1、第一步:找到pm2安装路径,如果找不到就可以执行:find / -name pm2 我们可以看到出来很多路径,第一个就是 /us 阅读全文
posted @ 2018-06-27 00:22 古兰精 阅读(3655) 评论(0) 推荐(0) 编辑
摘要:一、解决 -bash: ./install.sh: Permission denied 的问题 最近在搭建项目的时候,遇到了一个问题,我做了一个.sh脚本用来批量执行sql,但是当我执行的时候提示 -bash: ./install.sh: Permission denied 这个是执行的权限不足,试 阅读全文
posted @ 2018-06-26 22:56 古兰精 阅读(6464) 评论(0) 推荐(1) 编辑
摘要:弄明白: v-model 是什么的语法糖? vue2 对原生组件究竟做了什么特殊处理? 弄明白: v-model 到底是单向数据流还是数据双向绑定? 弄明白: v-model 在语法糖之外的『副作用』? 学会如何让你的组件也支持 v-model 语法。 一、v-model 本质是语法糖 在 vue 阅读全文
posted @ 2018-06-26 22:31 古兰精 阅读(1930) 评论(0) 推荐(1) 编辑
摘要:vue-router是vue单页面开发的路由,就是决定页面跳转的! <router-link> 组件支持用户在具体有路由功能的应用中(点击)导航。通过to属性指定目标地址。 Props 属性 1、to 表示目标路由的链接。当被点击后,内部会立刻把to的值传到router-push()。 2、repl 阅读全文
posted @ 2018-06-21 23:06 古兰精 阅读(14351) 评论(0) 推荐(3) 编辑
摘要:正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。 有多种方式可以在路由导航发生时执行钩子:全局的、单个路由独享的、或者组件级的。 一、全局钩子 你可以使用 router.beforeEach 注册一个全局的 before 钩子: 同样可以注册一个全局的 after 阅读全文
posted @ 2018-06-21 22:47 古兰精 阅读(25283) 评论(1) 推荐(3) 编辑
摘要:使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。 注意: 这个功能只在 HTML5 history 模式下可用。 当创建一个 Router 实例,你可以提供一个 scr 阅读全文
posted @ 2018-06-21 22:31 古兰精 阅读(3656) 评论(0) 推荐(0) 编辑
摘要:一、解决方案 1、方案一:使用 iframe、embed、新窗口打开。使用方式如下: <embed src="test.pdf"> <iframe src="test.pdf"></iframe> 优点:简单,支持大部分 PC 浏览器,跨域资源同样可以(无需 cors) 缺点:不支持移动端浏览器,不 阅读全文
posted @ 2018-06-20 22:21 古兰精 阅读(4529) 评论(0) 推荐(0) 编辑
摘要:一、module,chunk 和 bundle 的区别 看 webpack 文档的时候,对这 3 个名词云里雾里的,感觉他们都在说打包文件,但是一会儿 chunk 一会儿 bundle 的,逐渐就迷失在细节里了,所以我们要跳出来,从宏观的角度来看这几个名词。 webpack 官网对 chunk 和 阅读全文
posted @ 2018-06-20 21:37 古兰精 阅读(13532) 评论(2) 推荐(0) 编辑
摘要:Git的安装就不说了。 一、建本地仓库 1、第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。 反正就是创建一个文件夹,然后进入该文件夹 2、第二步:通过命令git init把这个文件夹变成Git可管理 阅读全文
posted @ 2018-06-20 00:22 古兰精 阅读(2176) 评论(6) 推荐(0) 编辑
摘要:一、减少渲染阻塞时间 今天许多 Web 应用必须满足许多形式因素,包括 PC、平板电脑和移动手机等。为了实现这种响应式特性,我们必须根据媒介大小编写新的样式。在页面渲染时,直到 CSS 对象模型(CSS Object Model,CSSOM)准备就绪,它才开始渲染阶段。 根据你的 Web 应用,你可 阅读全文
posted @ 2018-06-19 23:57 古兰精 阅读(696) 评论(0) 推荐(0) 编辑
摘要:1、css动画介绍及用法 CSS 动画用于实现元素从一个 CSS 样式配置转换到另一个 CSS 样式配置。 动画包括两个部分: 描述动画的样式规则和用于指定动画开始、结束以及中间点样式的关键帧(即规则与关键帧) div { animation: change 3s; } @keyframes cha 阅读全文
posted @ 2018-06-19 22:43 古兰精 阅读(1909) 评论(0) 推荐(0) 编辑
摘要:vue除了常规用法外,还有一些实例属性和方法,在此总结记录下 Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的数据属性区分。 一、实例属性 1、vm.$data:获取data里的数据,相当于用this获取 2、vm.$options:用来获取定义在data外的数据 阅读全文
posted @ 2018-06-19 14:29 古兰精 阅读(21899) 评论(0) 推荐(0) 编辑
摘要:一、基本介绍 WebSocket是HTML5的一种新通信协议,它实现了浏览器与服务器之间的双向通讯。而Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js 阅读全文
posted @ 2018-06-18 22:51 古兰精 阅读(5686) 评论(0) 推荐(1) 编辑
摘要:一、数据推送 SSE是一种允许服务端向客户端推送新数据(通常称作数据推送)的HTML5技术。那么,究竟什么是数据推送?它与我们可能用过的其他技术有什么不同呢? 让我先来回答什么不是数据推送。数据推送有两种替代方案:无更新方案和数据拉取方案。 无更新方案是最简单的。这几乎是所有网络内容的运作方式。 替 阅读全文
posted @ 2018-06-18 21:28 古兰精 阅读(427) 评论(0) 推荐(0) 编辑
摘要:SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议。 严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来要发送流信息时,客户端就会保持连接打开,SSE 使用的就是这种原理。 一、SSE 能做什么? 理论上 阅读全文
posted @ 2018-06-18 20:55 古兰精 阅读(39335) 评论(0) 推荐(2) 编辑
摘要:一、在参数中自定义正则 当定义像 :userId 这样的参数时,我们内部使用以下的正则 ([^/]+) (至少有一个字符不是斜杠 / )来从 URL 中提取参数。这很好用,除非你需要根据参数的内容来区分两个路由。想象一下,两个路由 /:orderId 和 /:productName,两者会匹配完全相 阅读全文
posted @ 2018-06-18 16:14 古兰精 阅读(4693) 评论(0) 推荐(0) 编辑
摘要:在项目中我们引入了 Vue:import Vue from 'vue'。那么问题是vue到底从哪里来的?从node_modules中来。在node_modules路径下存在vue文件夹,vue文件夹中存在一个package.json文件。在这个文件中存在两个配置字段,它们都是程序的主入口文件。 "m 阅读全文
posted @ 2018-06-18 16:07 古兰精 阅读(12403) 评论(0) 推荐(0) 编辑
摘要:刚开始使用vue的时候容易被里面的样式搞懵: 样式可以在main.js中引入,在模块js文件中引入,在组件中的style标签引入,在组件中的script标签引入,还可以在index.html的body中引入。 我不禁要问: 1、从不同位置引入的样式到底是什么关系? 2、在实际定义样式时应该定义在哪个 阅读全文
posted @ 2018-06-15 00:01 古兰精 阅读(7193) 评论(0) 推荐(0) 编辑
摘要:其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性。 要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了。 我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的D 阅读全文
posted @ 2018-06-13 23:34 古兰精 阅读(1138) 评论(0) 推荐(0) 编辑
摘要:1、强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数。 在下面的例子中,我们写了一个required()函数作为参数a和b的默认值。这意味着如果a或b其中有一个参数没有在调用时传值,会默认required()函数,然后抛出错误。 2、强大的redu 阅读全文
posted @ 2018-06-13 23:06 古兰精 阅读(415) 评论(0) 推荐(0) 编辑
摘要:先来看一个问题: 在之前看过的许多javascript书籍中,都宣称js是可以使用字符串作为数组下标的,因此我在用的时候也没觉得有什么不妥。但是在查看最后一句的控制台输出结果的时候,始料未及的情况出现了:length为0 显示的数组的length值居然是零,接着测试一下之前的步骤是否成功对数组进行了 阅读全文
posted @ 2018-06-13 22:39 古兰精 阅读(14052) 评论(6) 推荐(5) 编辑
摘要:1、[Vue warn]: Error in render: "TypeError: Cannot read property '0' of undefined 注意,只要出现Error in render,即渲染时候报错,此时应该去渲染位置去找错误,而不是函数里面。 今天就碰到这个错误,我一直只注 阅读全文
posted @ 2018-06-13 00:07 古兰精 阅读(41846) 评论(0) 推荐(2) 编辑
摘要:一、Web端即时通讯技术 即时通讯技术简单的说就是实现这样一种功能:服务器端可以即时地将数据的更新或变化反应到客户端,例如消息即时推送等功能都是通过这种技术实现的。 但是在Web中,由于浏览器的限制,实现即时通讯需要借助一些方法。这种限制出现的主要原因是,一般的Web通信都是浏览器先发送请求到服务器 阅读全文
posted @ 2018-06-11 23:50 古兰精 阅读(5349) 评论(0) 推荐(0) 编辑
摘要:问题背景: vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载。但是如果我们不想hash这种以#号结尾的路径时候的话,我们可以使用路由的history的模式。比如如下网址:使用hash模式的话,那么访问变成 http://loc 阅读全文
posted @ 2018-06-11 23:14 古兰精 阅读(34861) 评论(0) 推荐(4) 编辑
摘要:1、大文件定位 我们可以使用webpack可视化插件Webpack Bundle Analyzer 查看工程js文件大小,然后有目的的解决过大的js文件。 安装:npm install --save-dev webpack-bundle-analyzer 在webpack中设置如下,然后npm ru 阅读全文
posted @ 2018-06-11 22:31 古兰精 阅读(2551) 评论(0) 推荐(0) 编辑
摘要:一、vue-cli4 配置gzip文件处理 1、第一步安装插件依赖,现在最新版本为7,实测有兼容问题,暂时使用5 npm i compression-webpack-plugin@5.0.1 --save-dev 2、在vue.config.js文件中配置 const CompressionWebp 阅读全文
posted @ 2018-06-11 22:13 古兰精 阅读(12398) 评论(2) 推荐(1) 编辑
摘要:计算属性不是API,但它是Watcher类最复杂的一种实例化的使用,还是很有必要分析的。其实主要就是分析计算属性为何可以做到当它的依赖项发生改变时才会进行重新的计算,否则当前数据是被缓存的。计算属性的值可以是对象,这个对象需要传入get和set方法,这种并不常用,所以这里的分析还是介绍常用的函数形式 阅读全文
posted @ 2018-06-08 23:30 古兰精 阅读(837) 评论(0) 推荐(0) 编辑
摘要:1、vue 文件 vue文件是一个自定义的文件类型,用类HTML语法描述一个vue组件,每个.vue组件包含三种类型的顶级语言块 <template>、<script>、<style>,还允许添加自定义的模块 2、vue-loader 作用 解析和转换.vue文件,提取出其中的逻辑代码 script 阅读全文
posted @ 2018-06-08 22:20 古兰精 阅读(4422) 评论(0) 推荐(1) 编辑
摘要:1、控制table某些行数不显示 下载附件的需求,有些行有附件,有些没有,所以需要过滤,重点是:Array.filter()使用 2、elementUI的table自定义合计方法 3、elementUi的tabel组件如果要显示合计的话,下面的prop是必须得加的 4、elementUi的tabel 阅读全文
posted @ 2018-06-07 12:17 古兰精 阅读(25404) 评论(2) 推荐(0) 编辑
摘要:一、修改pom.xml文件 在项目的pom.xml文件上增加如下代码,添加依赖文件。 二、设置全局配置文件 在src/main/resources/application.properties中设置数据源和jpa配置。标红处是自己建的库 三、分层业务逻辑 POJO:domain层 service层: 阅读全文
posted @ 2018-06-06 23:23 古兰精 阅读(999) 评论(0) 推荐(0) 编辑
摘要:两个需求:1、用户点击购买需要下单,并跳转到订单页面,但是如果用户没有登录的话,中间有登录验证,会拦截;2、点击购买的时候,登录校验成功了,跳转到订单页面时,订单已创建,去付款即可。3、处理拦截至登录页,然后点去注册页,完善信息页,再回登录页,再登录进去,依然进去目标order页 一、解决方案对1: 阅读全文
posted @ 2018-06-06 23:17 古兰精 阅读(28819) 评论(0) 推荐(1) 编辑
摘要:一、结论 npm install,本身就有一个别名 npm i npm i module_name -S,即 npm install module_name --save ,写入dependencies,发布到生产环境 npm i module_name -D,即 npm install modul 阅读全文
posted @ 2018-06-06 22:57 古兰精 阅读(2965) 评论(3) 推荐(1) 编辑
摘要:一、路由模式解析 要讲vue-router的路由模式,首先要了解的一点就是路由是由多个URL组成的,使用不同的URL可以相应的导航到不同的位置。 如果有进行过服务器开发或者对http协议有所了解就会知道,浏览器中对页面的访问是无状态的,所以我们在切换不同的页面时都会重新进行请求。而实际使用vue和v 阅读全文
posted @ 2018-06-06 21:45 古兰精 阅读(63838) 评论(1) 推荐(8) 编辑
摘要:一、分层概念 后端层次划分: 后端分包: 不同层级之间数据传输:推荐第二种 POJO与JavaBean: POJO就是简单的私有属性,加get/set方法, JavaBean,就是会做一些逻辑处理,包括接收事件,和查找事件等 POJO的使用: 经常会接触到VO,DO,DTO的概念,本文从领域建模中的 阅读全文
posted @ 2018-06-05 23:23 古兰精 阅读(7088) 评论(0) 推荐(1) 编辑
摘要:一、全局异常 1、首先创建异常处理包和类 2、使用@ControllerAdvice注解,全局捕获异常类,只要作用在@RequestMapping上,所有的异常都会被捕获 这上面有个需要注意的是要加上@ResponseBody注解,如果不加会怎么样呢,我们试下,报错: 因为是个json的格式,所以必 阅读全文
posted @ 2018-06-05 22:10 古兰精 阅读(13897) 评论(0) 推荐(1) 编辑
摘要:一、配置 resources下面application.properties 1、普通配置 resources下面application.properties,比如写上:server.port=9090,那么启动端口就是9090了 2、自定义配置 3、配置变量的引用 4、随机值配置:如果参数是随机的 阅读全文
posted @ 2018-06-05 21:26 古兰精 阅读(6436) 评论(0) 推荐(1) 编辑
摘要:1、启动报错误: 找不到或无法加载主类 org.spring.springboot.Application 可能在工程下面有多个module,然后,module里面的iml配置文件不止一个,删除留主的一个就好了 像我的这个就有main、test、springBoot三个module,我删掉main和 阅读全文
posted @ 2018-06-03 15:50 古兰精 阅读(31491) 评论(0) 推荐(1) 编辑
摘要:IDEA 如何快速创建 Springboot 项目,请查看这篇:https://blog.csdn.net/sunnyzyq/article/details/108666480 一、启动报错:Failed to configure a DataSource: 'url' attribute is n 阅读全文
posted @ 2018-06-03 13:54 古兰精 阅读(27794) 评论(0) 推荐(0) 编辑
摘要:MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 spring Boot是能支持快速创建Spring应用的Java框架。 本文通过一个例子来学习Spring Boot如何集成MyBatis,而且过程中不需要XML配置 阅读全文
posted @ 2018-06-02 18:17 古兰精 阅读(11584) 评论(1) 推荐(0) 编辑
摘要:1、@RestController和@RequestMapping注解 4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解。 4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet。使用这个特性,我 阅读全文
posted @ 2018-06-02 17:44 古兰精 阅读(473) 评论(0) 推荐(0) 编辑
摘要:本文重点介绍spring boot mybatis 注解化的实例代码 1、pom.xml //引入mybatis <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-start 阅读全文
posted @ 2018-06-02 17:09 古兰精 阅读(6704) 评论(0) 推荐(0) 编辑
摘要:ElementUI是饿了么推出的一套基于vue2.x的一个ui框架。官方文档也很详细,这里做一个element-ui日期插件的补充,官方文档中使用picker-options属性来限制可选择的日期,这里举例子稍做补充。 一、单个输入框的 设置选择七天之前到今天的日期 这个return刚开始有点难理解 阅读全文
posted @ 2018-06-01 17:53 古兰精 阅读(39260) 评论(0) 推荐(1) 编辑
摘要:1、后台session过期前端跳转到登录页面 axios 拦截器 可以拦截请求和返回,对于失效的情况后端可以返回一个状态码,如401, 使用axios拦截时判断是401,则跳转到指定页面,如login。本人项目中开发还没定接口规范,后端返回的就是success:true/false axios.in 阅读全文
posted @ 2018-06-01 17:40 古兰精 阅读(1191) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示