自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

n009ww的博客

把一件事做到极致,你就是专家

  • 博客(67)
  • 资源 (3)
  • 收藏
  • 关注

原创 linux后台运行java程序

springboot工程在linux服务器独立部署

2024-01-19 20:33:46 458

原创 将springboot打包好的jar包做成docker镜像

将springboot打包好的jar包做成docker镜像镜像制作启动自己写完的springboot程序,想要发布到docker环境中,从网上找了一堆资料,发现也没那么费劲。记录下自己的发布流程。镜像制作将打包好的jar放入服务器的一个目录中然后在改目录下创建docker文件vi Dockerfile配置文件内的内容# 依赖的基础镜像from java:8# 创建者MAINTAINER liwei XXX@163.com# 将当前目录下的jar复制到容器/目录下

2021-06-24 09:13:34 181

原创 谜一般的设计模式:建造者模式

建造者模式在软件工程领域,设计模式是一套通用的可复用的解决方案,用来解决在软件设计过程中产生的通用问题。它不是一个可以直接转换成源代码的设计,只是一套在软件系统设计过程中程序员应该遵循的最佳实践准则上面那句是在网上看见的,觉得很有道理,我们不要为了设计模式而设计模式。往往一个简单的流程,非要弄个设计模式进来,反而脱裤子放屁。简单描述:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。应用场景:相同的方法,不同的执行顺序,产生不同的事件结果时,可以采用建造者模式。

2021-04-27 08:54:43 171

原创 谜一般的设计模式:工厂方法模式和抽象工厂模式

工厂方法模式简单描述:也是创建型模式的一种,目的就是对象的创建和使用解耦。不需要关心对象的创建过程,说白了张嘴要就行。应用场景:网上那些冠冕堂皇的应用场景,真的懒得粘了,啥时候补充一个具体的项目应用场景工厂方法模式是从简单工厂模式演变过来的,来一段简单的代码。现场需要对接两种类型的摄像头设备,分别为型号A,B,现在要通过两台设备进行拍照并获得照片简单工厂模式代码public interface Camera { String getPicUrl();}public clas

2021-04-23 18:21:58 175

原创 谜一般的设计模式:原型模式

原型模式简单描述:创建对象的一种方式,相对于new方法创建对象,原型模式通过二进制流进行拷贝。说白了就是一个类实现Cloneable 接口。应用场景:类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗通过new一个对象需要非常繁琐的数据准备或访问权限,可以使用原型模式一个对象有可能被其他对象访问,而且还有可能修改类里的属性状态等,若想保持原属性不变,需要使用原型模式。优点:创建对象快啊,直接通过二进制流拷贝,多香缺点:直接在内存中拷贝,

2021-04-22 09:15:33 106

原创 谜一般的设计模式:单例模式

设计模式每日学习下常用的一种设计模式,防止老年痴呆。单例模式简单描述:单例,顾名思义,就是单一实例。当我们编码时,经常使用new 来创建对象,每次new的操作都会在虚拟机内存为这个对象分配一个空间。然而使用单例模式,则内存只会分配一次,无论你如何获取到这个对象,获取的都是同一个地址。应用场景:spirng容器中的bean对象。spring创建bean的默认模式就是单例的(饿汉模式)。数据库连接池的对象。想象一下,如果每次访问数据库都要重新建立一个连接池,消耗会有多大,所以将连接池单例话

2021-04-21 09:38:56 77

原创 如此另类:微信小程序元素点击方法,传参方式

话不多说,直接上车这是一个列表的例子,要求点击列表中的每一项,都调取对应的方法<view class='info' wx:for="{{barList}}" wx:key="unique" bindtap="viewInfo" data-bar="{{item.barNo}}"> <view> <view>{{item.name}}</view> </view> <view>{{item.phone}}&.

2021-02-01 17:13:09 159

原创 Shiro的权限控制

方法上添加注解 /** * RequiresPermissions:权限的拦截,对应用户的权限列表。logical是各 * 个权限的关系,or是满足一个就行,and是都得满足 * RequiresRoles:角色的拦截,对应用户的角色 **/ @GetMapping("/role") @RequiresPermissions(value={"user:update","user:*"},logical= Logical.OR) @RequiresRoles("user")

2021-01-19 19:09:30 149

原创 双剑合璧:springboot打包将vue引入

1.在resources文件夹下新建static文件夹,然后vue打包为dist文件夹,将dist内的内容拷贝到static文件夹下2.我的拦截器用的是shiro,所以在shiro的config里做放行。 @Bean public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) { ShiroFilterFactoryBean shiroFilterFactory

2021-01-19 17:37:27 321

原创 如此优雅:小程序请求后台封装

虽然小程序通过wx.request提供了请求的能力,但是直接调用总是觉得麻烦,于是借鉴网上各种片段,进行了二次封装,便于开发。直接来一波结果,看看最终是如何使用的//_httpSend是整体的后端请求文件,其中login是其中的一个接口 loginFn:function(){ _httpSend.login({ username:'hello', pw:'world' }).then(res=>{ console.log(res)..

2020-12-30 14:45:40 160

原创 粗暴的代码生成-mybatisplus generator

人狠话不多,直接开车 compile ('mysql:mysql-connector-java:5.1.38') compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.4.1' compile group: 'com.baomidou', name: 'mybatis-plus-generator', version: '3.4.1' compile 'org.apa.

2020-12-29 23:25:13 133

原创 如此简单-小程序java后台登录

话不多说,直接开车1.微信公众平台获取凭证获取appid和appSecret 目前凭证不在页面显示,需要手动获取后记住。2.小程序端登录后发送请求这是app.js 主要部分为wx.login那里//app.jsApp({ onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx...

2020-12-29 09:43:31 261 1

原创 微信小程序的自定义tabbar的花样玩法

说到小程序的开发,最先接触的应该就是tabbar了吧,开发文档里面有关于tabbar的详细开发介绍,这里就不多说了,现在是想搞一搞微信开发文档里的自定义tabbar。这里并不是照搬开发文档里的DEMO,我是将自定义tabbar和weui做了个结合1.小程序引入WeUIWeUI就是微信小程序的扩展库,最简单的引入方式如下。在app.json中加入 "useExtendedLib": { "weui": true },2.tabbar设置先按照微信开发文档中的自定义tabbar设置.

2020-12-05 14:05:29 937 2

原创 ControllerAdvice能拦截异常时遇见的新大陆

异常处理时,通过使用@ControllerAdvice注解,可以轻松的拦截业务代码中的异常(包括自定义异常和运行时异常),常规代码如下@ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler(value = RoleNotSupportException.class) @ResponseBody public ResponseEntity<?> roleNotSuppor.

2020-10-12 17:19:23 204

原创 记录一次vue实现base64数据流打印和导出pdf的实现方法

愿你不会遇到这种情况,总之我是折腾了半天,好难....心疼自己1秒钟事情是这样的,后台的小哥哥将pdf存成了base64的字符串仍在了数据库里,前台使用时他就把这个串扔过来了。我们要实现的是将这个串导出为pdf,而且支持打印预览。直接上代码<template> <div> <el-row> <el-button @click="printPdf">打印</el-button> ..

2020-08-31 18:48:55 2038 1

原创 VUE学习(十) 路由切换时参数变了,页面没反应?客官请进

废话不多说,将需要进行页面重新加载的vue页面中,添加如下代码 watch: { $route: { handler() { window.myVue.$router.go(0);//window.myVue根据现场参数自行修改 }, deep: true }, }...

2020-08-21 14:59:39 370

原创 VUE学习(九) 还在傻傻的等后台的数据?快用mockjs吧

前端开发最重要的一环就是后台数据的对接,而现实情况往往后台不会及时的提供测试数据。没有数据,我们就只能傻傻的等着么?不,有了mockjs只要后台定义出返回格式,我们可以自己动手,丰衣足食!mockjs安装先啰嗦几句,mockjs是拦截axios的请求,并返回我们自己造的数据,使用时将mockjs安装在开发环境即可。npm i mockjs --save-dev建目录在src目录下任何你喜欢的位置,新建文件夹/mock/index.js 名字随意。在main.js中引入我们建...

2020-08-06 19:04:23 111

原创 所有的双色球开奖记录都在这里了

初学python,写了一个爬取历史双色球开奖记录的程序。希望大家互相交流学习1.找到数据的入口百度一下双色球历史开奖记录,出来许多网站,找到可以查看历史记录的网站就行,我这里找到的是http://kaijiang.500.com/ssq.shtml里面看历史记录的入口是下拉框,只要爬取出下拉框里的地址,就知道历史的记录了。2.爬取所有历史记录的地址import r...

2020-01-17 10:16:35 12347

原创 公司内网pip下载python包失败问题解决

pip install jinja2 --proxy username:pwd@proxy.yourproxyhost.com:8080 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com说明:用户名和密码换成自己的实际数据,端口也要对应上,后面-i的信息是国内镜像的地址。...

2020-01-09 16:02:44 1113

原创 python爬取推背图图片

最近在自学python,尝试一下它的爬虫功能。于是脑袋一热就像把网页上的推背图的图片都爬下来放一个文件夹里。于是就有了下面的代码。注:本教程只做学习交流使用,下载的图片只是本地查看,未做他用,如有侵权,还请站长私信我,我会删除本篇博客。1.找到需要爬取的网页百度“推背图”,在搜索结果里有一个推背图图片的网站,果断点击。个人理解,所谓的爬虫,就是先找到目标网站的入口,然后根据规律...

2020-01-07 14:41:28 373

原创 java后台接口统一返回数据类型

为了规范后台开发接口的标准,以及便于前台统一处理接口返回数据,定义一个通用的返回类是必要的。@ApiModel("统一的返回类型")public class ResultBean<T> { private static String SUCCESS_CODE="0"; private static String ERROR_CODE="1"; pr...

2020-01-06 16:59:47 2003

原创 前后端分离 用户名密码加密

自己写了个简单的用户名密码加密功能,仅供参考。环境springboot vue流程就是先获取一个随机口令,然后将用户名和密码拼在口令的后面,后台再提取出来1.登录前获取随机口令@RequestMapping(value = "/uuu", method = {RequestMethod.GET})public ReturnBean uuu() { String ...

2019-12-23 09:40:05 3065

原创 VUE学习(八) elementUI 动态表头添加fixed后样式异常

表头使用的是动态表头,将第一列锁定以后,发现出现下面的情况,很是郁闷,数据中无辜多了一个横线。找了相关资料,解决方案是每次渲染时都为该列头动态添加key。<el-table-column prop="name" label="机构" :width="nameWidth" fixed :key="randomKey"></el-table-column>...

2019-11-20 11:15:38 2670

原创 VUE学习(七) 自定义列表鼠标移入变色,点击变色(仿el-table实现)

常规列表数据用elementUI的el-table标签即可实现,但有些需要自定义列表数据样式的,则需要手写,这样如何做出和el-table一样的效果呢?一下代码可以实现页面渲染 <div class="list" v-if="tableDate.length" v-infinite-scroll="load"> <div :cla...

2019-11-08 09:46:50 4673 2

原创 springboot AOP记录日志(线程池实现)

通过线程池异步实现的目的是,尽量不去抢占主业务的资源,通过异步线程处理切面日志1.配置多线程执行器@Configuration@EnableAsyncpublic class ExecutorConfig { @Bean public Executor asyncServiceExecutor() { ThreadPoolTaskExec...

2019-11-01 14:07:30 2783 2

原创 VUE学习(六) 高德地图常用功能总结

项目中使用地图的场景比较多,将常用的功能整理一下,方便后期使用。目录1.地图的引入2.地图在页面显示3.点标记3.1快速点标记3.2点标记详细配置4.圆形、方形、多边形标记4.1创建圆形4.2创建多边形4.3创建长方形5.地图操作5.1清空地图5.2清空单个图形对象5.3地图最佳视野调整5.4地图点击事件6.路径规划...

2019-10-21 13:57:17 2003

原创 Springboot AOP实现日志记录

目的是在controller层加上入参和返回参数的日志,可以打印info日志,也可以将操作记录存库。实现方式是在controller层做切面,然后动态代理加上log。环境:springboot,gradle引入aop的包compile ("org.springframework.boot:spring-boot-starter-aop:${springBootVersion}")...

2019-10-11 14:07:46 510

原创 Mybatis 新增或修改xml写法

插入数据时,往往需要先校验该数据是否存在,若不存在,新增;存在,修改!常规操作是在业务代码中敲上述的逻辑,若果把判断的逻辑放入数据库那一层,会方便很多 <insert id="saveOrUpdate"> <selectKey keyProperty="count" resultType="int" order="BEFORE"> ...

2019-09-10 09:31:06 4528 2

原创 VUE学习(五) 分页

这里分页采用的是element-ui的分页组件,喜欢自己研究的小伙伴可以去element-ui的官网去查看使用方法。这里简单介绍下分页的流程吧!想要对查询的数据进行分页,首先需要知道查询的数据总共有多少条,然后是每页展示多少条,第几页!知道这三个就足够了。其中totalSize:是总条数,需要后台查询后返回cur_page:是当前页,也就是查看第几页的数据,需要前端传给后端接口...

2019-09-09 16:31:39 188

原创 VUE学习(四) 引入高德地图

好多前端页面的设计都涉及到地图的展示等功能,今天写一个将高德地图展示在vue页面的例子。1.申请高德key登录高德开发者平台直接申请即可2.引入js<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=**********************">&l...

2019-09-05 13:37:55 543

原创 VUE学习(三) 过滤器实践(filters)

前端展示数据的过程中,难免需要对一些数据进行二次加工,比如后台返回的性别代码,1男0女,以及日期等格式需要前端进行转化,如果像男女这种简单的直接用三元表达式就可以,如{{sex==1?'男':'女'}}但是如果需要一些复杂的逻辑时,在或括号中写的话,可读性比较差,而且实现起来也比较麻烦,这样就使用到了过滤器。实例:后台返回的表单数据中,有一项是返回的整数秒,前端需要展示 HH...

2019-08-26 09:41:47 338

原创 springboot静态方法使用配置文件的参数

编程时经常需要写一些工具类,大部分的工具类都是static的方法,由于static方法中不能引用非静态的变量,若我们需要使用配置文件中的变量该如何弄呢?请看下面的例子springboot写法/** * jsoup通过代理爬取数据 */@Componentpublic class JsoupUtils { private static Logger logger = ...

2019-08-22 10:13:40 6431

原创 websocket应用实战(10分钟搭建)

关于websocket的介绍网上一搜一大把,这里还是简单啰嗦一句:WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。个人理解,websocket的最明显的特点就是:可以由后台服务主动向前端推送消息,从而避免了前端轮询造成的资源浪费环境jdk1.8 idea2018.3 gradle4.10.3 springboot2依赖...

2019-08-05 11:28:10 190

原创 VUE学习(三) 箭头函数(=>)

习惯了写传统js的我,看了箭头函数的第一眼,就是....这啥东西?经过大神指点后,总结出的一条道理就是:1.当在vue中使用箭头函数,可以在函数中使用this 来引用全局的vue对象,若在传统函数中,有时会引不到。2.并不是所有的函数都适合改为箭头函数。当函数中使用本身的 this 时,我们再用箭头函数将会造成冲突,此时应在函数外面定义一个变量 let $this = this 。在...

2019-07-29 17:28:28 11470 1

原创 axios 发送post请求后端参数为空 解决

问题描述axios发送post请求到后端的springboot接口,接口是通的,但是获取到的参数都为null如:发送name:"csdn" 后端接收到的name就是null解决办法axios.post(url, qs.stringify(data),{headers: {'Content-Type': 'application/x-www-form-urlencoded'}}...

2019-07-24 19:35:59 4174

原创 VUE学习(二) 引入elementUI组件

至于为啥使用elementUI,就不多说了,本文只是简单的展示如何引入该组件。在main.js中添加如下代码import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'Vue.use(ElementUI)这样,我们就可以在我们的vue页面中使用elemnetUI的标签了。有关...

2019-07-24 19:17:28 208 1

原创 VUE学习(一) 目录结构及启动

在上一篇中介绍了如何初始化创建一个vue项目vue项目初始化。本文介绍一下vue项目的基本结构以及启动方式。目录结构node_modules:这里是vue所需的前端库,类似java后台的lib中的各种jar包。 public:公共资源文件夹,这里的东西打包后会保持原样,不会变化 src:项目的源码 src/assets:存放图片 src/components:存放自定义...

2019-07-23 13:29:19 374

原创 vue cli3创建项目(初始化vue项目)

最近开始像公司的vue大神学习一些vue的皮毛,在这里将学习历程进行记录。以后会定期更新,在此先感谢杨老师的细心指导!以前创建vue项目用的是vue init webpack yourprogram。当cli3面世以后,变得简单多了。安装vue clinpm install -g @vue/cli命令行方式vue create hello-world执行完...

2019-07-19 15:18:11 444

原创 shiro免密码登录

传统的登录方式都是用户名和密码组合登录,但是现在辅助登录手段多样,比如短信验证码,邮箱验证码等其他手段。这样就无法获取密码进行验证。所以本文整理了不需要密码的认证方式。传统的登录代码如下 UsernamePasswordToken token = new UsernamePasswordToken(userName, password); Su...

2019-07-18 14:24:13 1304

原创 GPS轨迹飘点处理(原创)

当我们处理gps设备传过来的数据时,最让人头疼的事情莫过于设备定位异常所传输的异常点了,我们习惯的叫它为飘点。这些数据是设备层面的异常,目前没有什么有效的方法来减少设备发送的飘点。但是我们可以通过程序来过滤掉这些点。原理获取时间范围内(默认一天)设备的连续gps信息。 遍历这些信息,计算两个相邻点的距离,这个距离要根据实际情况确定 若距离大于可容忍距离。则证明该两个相邻点其中有...

2019-07-17 13:39:54 18966 7

hbase数据可视化系统

springboot搭建的hbase可视化界面 支持hbase的建表与删除 支持根据rowkey查询数据

2019-07-14

boottest.zip

1.springboot的启动程序 2.整合了swagger 3.整合了shiro框架 4.带登录接口示例 5.整合mybatis

2019-07-08

tessdata.zip

验证码读取的英文训练库,准确度99%,java工程使用tess4j时,需要将此文件放入工程的根目录下

2019-06-27

空空如也

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

TA关注的人

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