- 博客(60)
- 资源 (3)
- 收藏
- 关注
原创 SpringAOP 切面编程原理解析
前言我们在学习 SpringAOP 的时候一直听说是面向切面编程,还有经常听到说 aop 可以用来做日志、做接口调用统计、做分库分表动态切换等等,觉得很神奇,明明我们只使用 @Aspect 注解了一个独立的 class,怎么能够这么强大呢?本篇试着从源码角度分析一下 aop 的原理,在开始之前我们提出几个问题,一边学习一边解答。被增强的类还是原来的类嘛?类什么时候被增强的?我假定看本...
2020-05-01 08:46:43
1017
1
原创 Spring @Autowired注解解析
前言在我们学习 spring 的时候,尤其是使用注解的方式实现自动装配,总会感到很神奇,也产生了很多的疑问。注解是什么时候被解析的?注解的生效逻辑是什么?以@Autowired 为例,为什么加了这个直接就可以直接得到对应的属性实例,并调用它的方法呢?我们越学感觉到疑问越多,而光看源码又容易被带偏,总是一个问题深入研究下去就找不到回来的路了。本文试着从问题的角度出发,边看源码边解答这...
2020-04-28 22:35:55
1098
原创 SpringIOC 源码解析
SpringIOC 源码解析本篇主要和大家一起来看看spring中ioc的源码,从bean的定义到初始化、实例化的过程。我们都说spring其实就是个HashMap,那么到底底层是怎么管理beans的呢,还有我们想知道为什么使用了注解[@Component]之后,spring就会自动将这个类加入到容器。在这篇文章我尽量去解答这个疑问,有错漏的请大家指正。前言工欲善其事必先利其器,如今做ja...
2020-04-10 16:37:03
557
原创 ConcurrentHashMap 源码解析
ConcurrentHashMap 源码解析之前我们学习了HashMap类,知道了它的基本工作原理,JDK7中hashmap是数组+链表的方式存储数据,JDK8中是数组+链表+红黑树的模式。当然上篇文章也存在一些错漏,这里也统一改正和补充一下。JDK8中链表转为红黑树的时机前篇我写的是链表数据达到8个的时候转为红黑树,这里数量有错误,看源码if (binCount >= TRE...
2020-04-07 16:20:01
277
原创 HashMap源码解析
基础知识HashMap是基于哈希表的Map接口的实现,是以key-value存储形式存在,即主要用来存储键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为Null。另外,HashMap中的映射不是有序的,即HashMap无序。在详细讲解HashMap(JDK7、JDK8对比)之前我们先了解一些基础知识在不特别注明的情况下,下文JDK7默认指的是J...
2020-04-01 22:45:38
282
原创 IDEA构建maven多模块项目
说明mall-root为根项目mall-common 一些公共方法,比如分页插件,统一返回结果工具mall-demo 测试请求方法1. 创建root 根项目创建springboot项目,2.
2019-12-23 14:00:48
257
原创 Mac下Docker安装ELK环境
mac安装elk因为使用到中文分词,而当前的分词插件版本是7.5.0,所以我们使用elasticsearch版本也是7.5.0# 查看是否安装了elkdocker images# 清理之前的版本docker rmi $(docker images -aq)# 安装 elk 7.5.0 版本docker pull elasticsearch:7.5.0docker pull ki...
2019-12-20 15:02:17
1688
2
原创 阿里云服务器安全设置记录以及SSH登录ECS实例
1. 设置SSH空闲超时退出时间(服务器端设置)设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。ClientAliveInterval 600ClientAliveCountMax 2...
2019-11-14 10:28:05
761
原创 https下的websocket链接问题
错误信息An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.最近在做一个项目的时候遇到需要使用websocket进行异步消息通知,就是有消息了,后台立马弹个窗出来。后台使用netty做的websocket,具体代码就省略了,使用的端口是8081,然后正常服务使用端口8080...
2019-09-12 17:30:04
8778
原创 Window系统下Nginx的日志切割
公司迁移合并服务器,将以前的linux服务器换成了window的,nginx也发生了改变,对应的access.log文件的切割也需要重新配置。在某个目录下创建一个批处理文件,log_auto_cut.bat@echo offrem move the current logfilesrem 这里更换成自己的需要切割的日志的目录,因为我这里有很多服务,所以可以写很多movemove "D...
2019-09-06 15:05:10
1561
原创 vue手撸移动端后台(10)打包发布
基本功能开发完毕,我们需要打包工程发布到线上。关闭服务检查vue.config.js配置还记得我们的vue.config.js中的几个配置吗?我们回顾一下publicPath:项目路径,默认为/,如果你的项目地址不是根路径,可以修改为项目名称outputDir: 'dist':build之后,生成的文件保存在哪里(相对于当前项目目录,名字随便写)assetsDir:'static...
2019-05-13 17:15:04
268
原创 vue手撸移动端后台(9)keepalive和页面通信
前面我们知道了如果获取数据,如何删除数据。但是有个小问题,我们每次进入列表页面的时候,都会重新去获取数据,这个不太美好,如果数据变化不是那么快的场景,完全没有必要浪费网络资源。目标:首次进入列表加载数据返回首页,再次进入列表,不加载新数据用户顶部下拉,加载新数据滑动到底部,加载旧数据子页面,或者其他页面对列表数据删除,返回列表页查看数据已经删除1. keepalive为了使...
2019-05-13 13:41:20
583
原创 Class文件结构解析
用到的工具:vscode,vscode的插件HexDump开始撸一个简单的java文件public class Test { private int m; private final int a = 1; public int inc() { return m + 1; }}然后编译javac Test.java得到的class文件使...
2019-05-11 14:54:25
273
原创 vue手撸移动端后台(8)页面传参和数据删除
上篇我们知道了怎么获取多条数据,这篇来看看如何获取一条数据和删除数据。1. 获取单个数据上篇我们列出了用到的接口,但是只使用了获取多条数据的,这次我们试着获取单条数据http://jsonplaceholder.typicode.com/users/1在用户列表,我们点击一条数据,进入用户详情页面,src/views/users下创建一个UserInfo.vue页面用来展示用户信息这里...
2019-05-07 10:45:18
676
原创 vue手撸移动端后台(7)axios网络请求和模拟数据
我们的前端页面大致上整理完毕,下面进入对数据的操作了,不然不知道怎么结合数据岂不是瞎玩么。有一些么有后台接口经验的前端同学也不要慌,咱们搞个简单的,也不要自己提供接口,网上都有写好的。http://jsonplaceholder.typicode.com/这个网站,提供了公共的一些可以访问的接口我们就用这个网站的接口了,直接浏览器访问就有返回数据获取10个用户:http://jso...
2019-05-06 10:02:30
614
原创 vue手撸移动端后台(6)页面进度条以及自定义NavBar导航
接着上篇,我们昨晚了页面跳转,下面就搞点数据。但是在加载数据之前,优化一下页面。如果使用浏览器打开我们的应用跳转页面的时候,会发现刷新按钮是不会变动的,只有地址栏变动。但是页面是一屏闪过,没有个提示什么的。如果遇到页面比较大的情况,出现等待的时候,用户没有感知反馈可能就退出了。1. 进度条这里我们用一个网上的插件nprogress。安装插件:npm install --save nprog...
2019-05-05 15:10:03
2153
原创 vscode自定义emmet快速生成代码
快速添加代码快捷方式,使用emmet,直接tab生成代码创建一个自己的文件,添加如下格式的代码:{ "add!": { "prefix": "!!",// 双叹号快速添加注释 "body": ["<!-- $1 -->"],//添加完毕,光标在$1位置 "description": "快速添加注释" }, "eslint-disable-ena...
2019-05-05 14:33:36
595
原创 vue手撸移动端后台(5)路由配置以及几种跳转页面方式
上一篇我们创建了几个基本的页面,但是在访问的时候我们怎么才能访问到他们呢?默认只有首页的。为此我们需要用到vue-router官网1. vue-router安装vscode终端:linyundeMacBook-Pro:my-demo ly$ npm install --save vue-router+ vue-router@3.0.6added 1 package from 1 cont...
2019-05-02 21:53:57
2396
原创 vue手撸移动端后台(4)项目结构以及首页
回到我们的项目目录,正式的项目肯定不能这么简单的划分,为了更好的维护项目,我们构建一下自己的目录结构,我全部构建完毕,加上注释。依据团队习惯吧构建完了目录,对页面进行几个初始化:错误页面404首页修改用户管理页面文章管理页面删除helloworld1. 错误页面在error目录下创建404.vue文件:<template> <!-- eslin...
2019-04-30 17:20:18
532
原创 vue手撸移动端后台(3)项目设计
我们也不做一个超级大项目,但是简单的设计还是要的,当然你可以直接略过看后面的。不是很清晰,列一下:首页:几个按钮(用户管理,文章管理),进入下一页【首页判断下是手机打开还是pc打开的,跳转到不同的页面】用户管理:顶部navbar,返回首页,或者进入新增用户页面,用户管理列表文章管理:顶部navbar,左滑删除,列表缓存,等。需要做到的几个点: 左滑列表,出现删除,删除数据后,列...
2019-04-30 17:00:58
517
原创 vue手撸移动端后台(2)基础项目搭建
这一篇主要是搭建基础项目,完全空的项目,还有一些基本配置本项目使用mac 开发环境,所以做个参考,window其实差别不大关键词:npmvue-cli 3vscode配置1. 电脑环境怎么安装node,vuecli3这里就不做详细的介绍了,大家自学一下,不难。(mac使用brew install node之后,直接改源:npm config set registry https:...
2019-04-30 15:51:53
500
1
原创 vue手撸移动端后台(1)
本系列是我学习了vue的一些基础概念之后,再结合网上的demo,然后应用到本公司的实际项目中,将以前的后台管理移植为前后分离架构。本文的主要参考对象是:vue-element-admin , vantvue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型...
2019-04-30 15:51:16
434
原创 Exception loading sessions from persistent storage
启动tomcat时,日志报错:2019-04-30 08:52:18.128 ERROR [localhost-startStop-1] org.apache.catalina.session.StandardManager | Exception loading sessions from persistent storage java.io.StreamCorruptedExceptio...
2019-04-30 08:57:40
510
原创 No task executor bean found for async processing
No task executor bean found for async processing: no bean of type TaskExecutor and no bean named 'taskExecutor' either检查日志的时候发现一个打印,这么一看貌似想个错误一样,但是级别是info?然后去找到上下文一看,原来是springboot提供的异步调用@Async产生的。具...
2019-04-25 14:50:51
2993
原创 no beans of type found for autowired repository
今天导入一个springboot1.5.9项目的时候出现个情况,idea打开某个serviceimpl全部autowired飘红。。。could not autowired no beans of xxx这个错误估计很常见了,大部分网上都有解决方法,不过我这里遇到的可能比较少见,参考:https://stackoverflow.com/questions/26889970/intellij-...
2019-04-25 13:58:30
233
原创 IDEA编辑器URI点击a标签的href不能打开对应controller的问题
前几天重装了下系统,然后idea重新下载了,git下项目,本想开始爽快的撸代码,结果出了个不大不小的问题,记录一下,么有完美的找到问题原因和解决方法。描述:一般在编辑页面的时候,a标签的href,cmd+Mouse click是可以跳转打开controller的。比如:<a href="/hello/world">你好啊</a>一般command + 鼠标左键...
2019-04-19 14:02:09
1404
原创 POM 文件的project标签报错
今天导入一个git项目时,pom文件的project标签报错,然后依赖全部都是红色波浪。打开编辑器设定,找到maven这里修改为本机的maven地址。重启idea
2019-04-19 13:48:34
9552
1
原创 At least one JAR was scanned for TLDs yet contained no TLDs.
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JA...
2019-04-18 09:20:08
779
原创 One of the two will be used
IDEA启动项目出现这个提醒,服务没有毛病objc[41091]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java (0x10c6334c0) and /Library/Java/JavaVirtualMac...
2019-04-17 17:22:36
340
原创 queue file write error
处理一个邮件自动发送,带附件的时候遇到问题。com.sun.mail.smtp.SMTPSendFailedException: 451 Error: queue file write error at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108) at com.sun.mail.smtp...
2019-04-12 16:40:01
4347
4
原创 maven添加自定义jar包
今天手贱更新了一下maven版本,结果旧版本被brew自动删除了,我擦,配置也没有了。项目也报错了。需要重新设置一下自定义包mvn install:install-file -Dfile=/Users/xxx/downloads/api.jar -DgroupId=com.caidou -DartifactId=api -Dversion=1.0 -Dpackaging=jar如上,这样就可...
2019-04-11 14:51:25
224
原创 javascript 中的深度拷贝与浅拷贝
参考【JS】深拷贝与浅拷贝的区别,实现深拷贝的几种方法json.stringify()的妙用,json.stringify()与json.parse()的区别今天在写小程序项目的时候遇到一个问题,数组的深拷贝与浅拷贝。问题描述:有一个页面,分了4个tab栏目,其中第一个页面得到原始数据companys做一个排序展示,每个company都有一个3项打分【从技术,市场和企业形象对企业...
2019-04-11 11:53:51
241
原创 记录一次系统入侵,微信支付回调
早上检查系统日志,发现有很多打印2019-04-08 03:15:34 [ http-bio-8080-exec-149:384527931 ] - [ WARN ] Invalid XML, can not convert to map. Error message: DOCTYPE is disallowed when the feature "http://apache.org/xml/...
2019-04-08 09:53:11
1404
1
原创 Caused by: java.lang.AbstractMethodError: org.apache.bval.jsr303.ConfigurationImpl.getDefaultParamet
使用junit跑测试遇到bug:[37:35] org.springframework.context.support.ClassPathXmlApplicationContext:488 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework....
2019-04-03 15:50:45
908
原创 ios键盘收起页面空白问题
开发网页的时候遇到一个非常恶心的问题,ios中,一个页面有一系列input需要填写,假设有10个,点击后面几个,弹出键盘,一般会超出页面长度的。这个时候,如果收起键盘,页面不会回弹导致底部出现空白部分,这个时候,点击页面上的一些按钮会点击不中。我这里的一个非常蠢的办法,就是判断当input失去焦点的时候,主动滚动let u = window.navigator.userAgent; l...
2019-04-03 15:39:18
1823
原创 英文字母超出div边框
在使用oa的时候,同事上传了一条很长的连接,结果超出了展示内容的div,这时要么隐藏掉超出的部分,要么就强制英文换行:div{ word-wrap:break-word}
2019-04-02 10:35:33
653
原创 阿里云服务器安装字体
ftp连接到服务器,在目录/usr/share/fonts/下创建文件夹mac,因为我主要是吧mac的字体copy到服务器上,其他系统的字体是一样的。cd /usr/share/fonts/macsudo chmod 744 *sudo mkfontscalesudo mkfontdirsudo fc-cache -f -v好了字体安装完毕,fc-list测试打印系统安装的字体吧,如果...
2019-03-29 17:20:45
1088
原创 javax.validation.ValidationException: Unable to create a Configuration
今天在修改springmvc项目,做junit测试的时候,需要使用ApplicationContext。做了一个简单的测试方法:ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"spring-mvc.xml", "spring-common.xml"});System.out.println("a...
2019-01-16 11:32:16
2198
原创 springboot2.0+websocket集成-关于token
之前的2篇都是讲的如何使用websocket,忽略了关于token方面的问题。下面就归纳一下。参考:https://blog.youkuaiyun.com/maomaolaoshi/article/details/82593106https://blog.youkuaiyun.com/supergao222/article/details/80115609https://www.cnblogs.com/hait...
2019-01-07 11:24:31
4371
2
原创 SpringCloud系列-微服务概念与springcloud
边学边做边总结,对整个springcloud知识体系进行一个梳理。如果有写的不对的或者更加好的意见请回复。微服务与微服务架构项目开发的进化顺序传统项目传统的项目一般都是单应用,所有的功能都在一个项目里面,即便是做了mvc的设计,但是缺点其实很明显,业务之间可能会相互影响,容易崩溃或者阻塞导致服务不可用。但是优点是功能全面,适合小团队开发。分布式对单应用的一个进化,将独立功能拆分成一...
2019-01-04 17:14:48
157
sh4springmvc3层架构html5+jsp多视图
2015-11-04
secureFX_for_mac破解-mac-10.10.3可用
2015-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人