- 博客(29)
- 资源 (20)
- 收藏
- 关注
原创 系统重构对架构上的一些优化思路
前言:最近公司需要对系统进行重构,基于以前微服务系统架构上的不足,我在此总结了一些问题以及优化思路、方案等,适用于Springboot单体项目,希望能对眼前的你提供一些帮助。问题与思路:1. Controller层的【try catch】处理问题描述:在系统中充斥着大量的try catch的代码,当接口出现问题时,由于你的粗心少写一个方法的try catch,给前端返回了一串Exception的异常错误信息。@GetMapping("/get/user") public Re<User&.
2022-03-13 22:26:20
1667
1
原创 多数据源配置
技术点:本篇文章是基于Springboot2.0、mybatis、mybatis-plus与阿里的Druid整合,简单配置多数据源处理。准备工作:1.创建一个数据库qa1,执行以下sql语句SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table struct...
2020-05-05 15:55:36
2560
转载 Redis 分布式锁的正确实现方式( Java 版 )
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保...
2020-02-03 10:23:52
319
转载 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?
1. 数据库引擎不支持事务这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB。根据 MySQL 的官方文档:https://dev.mysql.com/doc/refman/5.5/en/storage-engine-setting.html从 MySQL 5.5.5 开始的默认存储引擎是:...
2020-01-21 09:49:30
3224
转载 到底如何设置 Java 线程池的大小?
在我们日常业务开发过程中,或多或少都会用到并发的功能。那么在用到并发功能的过程中,就肯定会碰到下面这个问题并发线程池到底设置多大呢?通常有点年纪的程序员或许都听说这样一个说法 (其中 N 代表 CPU 的个数) CPU 密集型应用,线程池大小设置为 N + 1 IO 密集型应用,线程池大小设置为 2N 这个说法到底是不是正确的呢?其实这是极不正确的。那为什么呢...
2020-01-14 17:11:33
221
原创 设计模式-观察者模式-基于Spring设计思想扩展使用
观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用...
2019-10-29 13:48:32
272
原创 Java实现阿里云短信云服务
1.前提此文章主要介绍 短信服务 的入门,可根据实际业务需求自行编写代码,写的简陋之处请见谅想实现 阿里云短信服务,必须的有 阿里云的账号,此处文章前的你们是不是 有备而来?点击下方注册 OR 登录到阿里云阿里云短信服务短信服务官方帮助文档2.控制台配置登录成功后,进入到短信服务的控制台,可看到如下界面,具体菜单功能我就 不一一介绍了,相信大家都能从字面上大体了解。...
2019-10-28 18:05:48
1125
3
原创 微信开发-网页授权接口开发
今天编写一个网页授权接口开发的实例,希望对大家的工作有所帮助微信公众号开发文档地址:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html网页授权文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat...
2019-10-25 23:18:59
511
原创 微信开发-内网穿透的方式
什么是内网穿透内网穿透其实就是两台计算机都处于不同的局域网之中,外网与内网的计算机节点需要连接通信,那么就需要借助内网穿透技术来解决这个问题,也叫NAT穿透。常见的内网穿透工具1、Ngrokngrok是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重...
2019-10-25 16:34:33
5183
6
原创 《阿里巴巴 Java 开发手册》与《阿里工程师的自我修养》下载
向开发者致敬!这2本书送给正在努力向前的你!《阿里巴巴 Java 开发手册》《阿里工程师的自我修养》
2019-10-25 09:32:31
605
原创 Java集合为空校验
工作这么多年,一直没有提高代码质量,从今天这篇博客起步,努力提高自己水平。不多说,直接 上代码: static Map<String,Object> m = null; static Map<String,Object> mm = new HashMap<>(); static Map<String,Object> m...
2019-10-11 12:09:11
1237
原创 checkbox一键全选/取消
直接上代码$(document).ready(function () { $('#orChecked').change(function(){ if($(this).is(':checked')){ $('#box').find(':checkbox').prop('checked',true); }else{ $('#box').find(':...
2019-07-16 18:32:40
957
原创 checkbox选中未生效未显示对号勾选的坑
项目中需要用到checkbox,一般使用checked来操作是否选中,抽出代码如下:<label title="是否启用" class="checkbox checkbox-inline m-r-20"> <input type="checkbox" onclick="showBut(this)"}> <i class="input-helper...
2019-07-16 18:01:31
3926
原创 Web Service CXF JAX-RS服务端与客户端简单调用实例
分别创建服务端和客户端web服务项目,引入jar包:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.4.RELEASE</version>&...
2019-03-20 16:20:08
1477
1
原创 Web Service CXF 服务端与客户端简单调用实例
分别创建服务端和客户端web服务项目,引入jar包:<!-- spring jar --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org...
2019-03-19 15:31:39
721
原创 WebService介绍以及应用
WebService基本概念1.什么是web服务这里列举一些常见的web服务:手机淘宝、京东... 天气预报 手机号归属地 股票查询 发手机短消息 手机充值功能 中英文翻译 银行转账业务 公司的“进销存系统”在某商品缺货时自动给供应商下订单免费web服务网站:http://www.webxml.com.cn/zh_cn/index.aspx2.简介webSer...
2019-03-18 13:40:52
836
原创 设计模式-单例模式
单例(Singleton)模式通常,对象通过在自身属性上执行任务来承担自己的职责,除了需要维护自身的一致性外,无需承担其他任何责任。然而,仍有一些对象承担了更多的职责,例如对真实世界的实体进行建模、协调工作或者对整个系统的状态进行建模。当系统的其他对象都依赖于特殊对象所承担的职责时,我们需要通过某种方式找到这个承担职责的对象。例如,可能需要找到一个代表指定机器的对象,或者是从数据库获取数据来创...
2019-03-07 23:25:53
122
原创 CommonsMultipartResolver方式接收form表单上传的多个文件
后台代码:@RequestMapping("/test")public void test(HttpServletRequest request){ CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getServletContext()); if...
2019-03-06 23:21:35
2240
转载 java程序员的黄金五年学习规划
在程序界流行着一种默认的说法叫“黄金5年”,也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5年,彻底从一个刚入行的菜鸟蜕变成可以以不变应万变的职业大牛,这是一个涉及到自身专业知识储备和选择的大难题,那么,这五年里,一个Java程序员如何做才能完成从入行到大牛的晋升之路呢?参加工作0-1年之间,Java程序员必须要做得事儿当你学...
2019-03-06 13:58:58
530
原创 ajax方式提交form表单校验上传的文件不能为空
jsp中:<form id="inputForm" method="post" enctype="multipart/form-data"> <div> <label>文件1上传:</label> <div> <input ty
2019-02-27 15:56:56
2317
原创 此NVIDIA驱动程序与此Windows版本不兼容
做软件的最恨别人问:你会不会修电脑。所以我需要学习组装一台新的电脑,会一些基本功此处我使用的显卡是华硕的ROG-STRIX-RTX2060-O6G-GAMING官网下载驱动地址:https://www.asus.com.cn/Graphics-Cards/ROG-STRIX-RTX2060-O6G-GAMING/HelpDesk_Download/此处下载的驱动版本是: 417.71...
2019-02-27 10:34:55
116160
2
原创 linux安装redis
1.确认linux系统中是否安装gcc 查看命令:gcc -v2.下载redis第一种:可以根据redis官网给出的提示下载 https://redis.io/download第二种:直接下载源码,通过xftp或者rz命令上传3.解压redis4.进入解压的文件夹目录下执行make命令,此处没有安装gcc的话就会编译失败5.在redis目录下执行安装...
2018-07-18 11:06:27
201
原创 jQuery.validate如何校验两个值的大小
1.编写校验方法function validate() { var returnVal = true; var stockMinAmount = parseFloat($("#stockMinAmount").val()); var stockMaxAmount = parseFloat($("#stockMaxAmount").val()); if (stockM...
2018-07-05 16:29:29
5528
原创 JQuery.validate校验不能重复的问题
var validator;var isExistence;$(document).ready(function() { jQuery.validator.addMethod("isExistence", function(value, param) { $.ajax({ url : '${ctx}/***/isExistence', ...
2018-07-05 16:18:14
3213
原创 移动端网页打开查看 pdf 文件
1.首先下载pdf.js2.将pdf解压,放入项目中webapp下3.后台处理:根据url获取pdf,把数据写入到输出流js:download: function (url) { var urls = '${contextPath}/entityLifecycleTrace/open?urls='+url; window.location.href = "${ctxSta...
2018-07-05 13:04:06
11699
原创 java正则表达式替换所有标点符号
对字符串中的各种标点符号进行过滤:public class Test { public static void main(String[] args) { String s = ":\\\\/.&*(()/*`~?<|{:。}>-,';][=-!#$%^&*+@\\"; s = s.replaceAll("[\\pP\\p{...
2018-07-04 21:12:19
10387
2
原创 将对象转JSON时字段为null将被过滤问题
对象转为json:public class JsonUtil { /** * 把数据对象转换成JSON字符串 * * @param obj * @return */ public static String getJSONString(Object obj) { return new Gson().toJson(obj); }...
2018-07-04 14:21:30
12385
原创 vue中v-if校验substring,replace等操作后的数据
需求:判断vue数据中url的后缀名实现: 在vue对象中定义事件,对参数进行处理,返回true OR falsevar data;$(function () { data = new Vue({ el: '#start', data: { arrays: array }, methods: {...
2018-07-04 12:54:47
4461
2
instantclient-basic-windows(x64)-11.2.0.4.0.zip
2018-05-16
lucene详细文档详解.pdf
2017-09-14
poi文档中文POI_3.9_API.CHM
2017-09-08
poi操作Excel,HSSF,XSSF两种方式(.xls与.xlsx)导入导出
2017-09-07
poi操作Excel导入导出(web项目)
2017-09-07
Myeclipse 10 激活详解过程
2017-09-07
Xftp_5.0.1028
2017-09-07
TortoiseGit-2.5.0.0-64bit
2017-09-07
Git-2.13.3-64-bit
2017-09-07
tomcat-8.0.30
2017-09-07
tomcat-7.0.65
2017-09-07
w3cSchool文档
2017-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人