
后端技术笔记
文章平均质量分 72
聽見下雨的聲音
Hi there , I’m guqing,Halo开源团队核心成员,我在 halo-dev 和 halo-sigs 生态系统项目中进行贡献。 除了编码之外,我喜欢:插花、纯音乐、宋词、瘦金体以及具有斑驳年代感的物品和建筑以及文化重镇,它们隐含着某种岁月氛围,连空间都弥漫着一股怀旧美学的调性,充满了故事感。
展开
-
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
亲测好用,精度高,用来很久,特地分享出来,原文连接没有了/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 */ //定义一些常量var x_PI = 3.14159265358979324 * 3000.0 / 180.0;var PI = 3.14159...原创 2019-02-24 19:51:01 · 2447 阅读 · 1 评论 -
基于Spring Boot的单体应用快速开发脚手架
分享一个脚手架项目,springboot-jpa-starter,这是一个基于SpringBoot 2.2.2.RELEASE,用于搭建RESTful API工程的脚手架, 使用Spring Security + JWT Token + RBAC的方式实现认证和授权,持久层使用Spring data Jpa。避免每次重复编写认证和授权功能、缓存、异常处理、参数校验等代码,直接上手业务代码,不再烦恼...原创 2020-01-30 14:38:31 · 1471 阅读 · 0 评论 -
使用postgresql和Arcgis创建路网拓扑结构
在创建路网拓扑结构之前首先需要安装arcgis,打断路网的相交线,这一点非常重要从上路我们可以看出路网交叉口的地方是连接起立的,而且大部分路网数据都是如此,如果想构建路网拓扑结构就必须从交叉口处打断,然后以交叉口作为拓扑顶点,路段作为拓扑边。不管是从openstreetmap下载的数据还是从其他地方的数据,都会存在这样路网相交的问题。打断路网相交线首先打开ArcGis(安装教程参考:Arc...原创 2019-05-17 15:55:44 · 6531 阅读 · 18 评论 -
Java二维码生成工具类
首先导入maven依赖,这里使用的是google的一个多种格式的1D/2D条码图像处理库zxing<!--二维码生成--><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <versio...原创 2019-06-03 14:32:57 · 599 阅读 · 0 评论 -
设计模式之工厂模式
工厂模式什么是工厂模式工厂模式是对构造对象,实例化,初始化过程的一种封装。它帮我们解决new对象的问题,假如我们需要创建一个Person对象, 我们常用的方式是Person person = new Person();但是这样会导致把这个对象诞生的过程死死的捆绑在我们的代码当中,宿主类与实例化过程强耦合在一起。我们看这样一个例子:现有一个StudentDao接口public interf...原创 2019-06-23 15:23:28 · 199 阅读 · 0 评论 -
Java 8新特性之Stream流
下面来看一下借助Java 8的StreamAPl,什么才叫优雅:public class StreamIteratorDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("张无忌"); list.add("张三丰");...原创 2019-07-24 10:35:35 · 318 阅读 · 0 评论 -
Java 8新特性之方法引用
在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?冗余的Lambda场景来看一个简单的函数式接口以应用Lambda表达式:public interface Printable { void print(String s);}pu...原创 2019-07-24 10:42:18 · 317 阅读 · 0 评论 -
myql如何使用explain
1 explain执行计划使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。1.1 explain执行计划包含的信息其中最重要的字段为:id、type、key、rows、Extra1.2 字段详解idselect查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序三种情况...原创 2019-08-03 21:45:04 · 454 阅读 · 0 评论 -
函数式接口与Lambda表达式
概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式变成场景的接口。而Java中函数式变成体现就是Lambda,所以函数式接口就是适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能被顺利的进行推导。语法糖是指使用更加方便,但是原理不变的代码语法。例如在遍历集合时使用的forEach语法,其实底层实现原理仍然是迭代...原创 2019-07-22 20:25:21 · 266 阅读 · 0 评论 -
使用geotools的将shp数据写入mysql时报Could not initialize class org.hsqldb.lib.FrameworkLoggerwenti错误
报错问题截图如下:代码:package xyz.guqing.geotools;import java.io.File;import java.io.IOException;import java.nio.charset.Charset;import java.util.HashMap;import java.util.Map;import org.geotools.data...原创 2019-05-06 19:07:48 · 901 阅读 · 1 评论 -
Maven使用Mybatis出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误
在确保其他配置都正确的情况下,检查打包时有没有将Mapper.xml一起打包进来。如果你是把Mapper.xml文件和Mapper类放在一起,或者是通过Mybatis逆向工程生成而直接拷贝的文件,很容易出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常,原因是Maven编译时没有把*...原创 2019-04-15 21:28:12 · 682 阅读 · 0 评论 -
关于thymeleaf使用springsecurity表达式 sec:authentication=“name“取不到值问题
首先检查你导入的SpringSecurity版本如果是五版本那么导入的thymeleaf的security扩展也要是五版本才能匹配,取不到值得原因是扩展版本不匹配<dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-spr...原创 2019-04-05 23:35:54 · 2147 阅读 · 0 评论 -
spring整合mybatis时容易出现的错误
1.由于mybatis交给spring管理,不允许手动关闭sqlSession,否则会报错2.在beans.xml配置数据库连接池时<!-- 导入外部的properties文件 --><context:property-placeholder location="classpath:jdbc.properties"/><bean id="dataSource"...原创 2018-12-12 17:28:00 · 781 阅读 · 0 评论 -
springmvc出现Property 'url' is required错误
初学springmvc时由于写错了视图解析器的类名导致出现了如下错误:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.view.InternalResourceView#0' defined in clas...原创 2018-12-13 19:03:30 · 1969 阅读 · 0 评论 -
Ajax请求成功却执行error回调方法(Ajax跨域请求问题)
遇到的问题描述:Ajax使用post请求添加分组,请求url是RESTful风格。添加成功了已经向数据库写入了信息,但是Ajax却执行了error回调,观察网络发现有两次相同请求一次是get请求,一次是post请求携带了需要向数据库写入的参数。第一次请求成功返回200,第二次却返回404,所以导致回调进入了error。于是乎查找了很久解决方案,明白了是跨域请求导致,而Ajax只能同源请求。解...原创 2019-01-04 20:23:57 · 3651 阅读 · 0 评论 -
SpringMVC使用AOP记录日志
创建AOP@Aspect@Componentpublic class LoggerAop { //本地日志记录对象 private static final Logger logger = LoggerFactory.getLogger(LoggerAop.class); //controller切点 @Pointcut("execution(* x...原创 2019-03-05 15:46:48 · 2534 阅读 · 0 评论 -
图片处理工具类,添加水印,图片缩略图,合法性校验
package xyz.guqing.imageutil;import java.awt.AlphaComposite;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.Transparency;import java.awt.image.Buffered...原创 2019-03-05 19:53:39 · 723 阅读 · 0 评论 -
Lucene7.7.1和Solr7.7.1学习笔记(全)
Lucene7.7.1&Solr7.7.1学习笔记1.Lucene起步1.1 lucene介绍Lucene是一个全文检索引擎工具包,最初是apache软件基金会jakarta项目组的一个子项目,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,以及部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统...原创 2019-03-14 18:05:00 · 1879 阅读 · 3 评论 -
redis笔记(全)
1. 安装redis1.1 安装1.进入/opt目录下cd /opt2.安装wget http://download.redis.io/releases/redis-5.0.2.tar.gztar xzf redis-5.0.2.tar.gzcd redis-5.0.2make1.2 备份redis的配置文件&gt; 进入opt目录 cd /opt&gt; 新建一个m...原创 2019-03-16 19:54:21 · 1090 阅读 · 0 评论 -
一文搞懂反射泛型和反射注解以及通过注解方式写一个BaseDao
反射泛型和反射注解概括起来就三步:自定义注解通过反射获取注解值使用自定义注解最终案例通过自定义注解,将数据库表与Java对象映射,在不需要配置文件的情况下,查询出数据库的记录分析:数据库表有数据库名,表名和字段,所以在定义注解时这些都是必须的,但是在查询时有通过主键查询的方式,那么如何知道哪个字段是主键呢,这就需要来声明一下,所以,还需要定义一个id注解用于标识某对象的某属性对应着...原创 2019-03-26 14:33:58 · 503 阅读 · 0 评论 -
Java操作数据库--JDBC入门
简介刚开始介绍了mysql基本语句,但是你会觉得好像不会知道怎么用,它的用途在什么地方,所以为了提高兴趣今天我们来介绍一下JDBC,以后会和MySQL一起更新。JDBC,到底jdbc是什么东西呢?JDBC(Java Data Base Connectivity,java数据库连接),是由一些接口和类构成的API。是J2SE的一部分,由java.sql,javax.sql包组成。概述JDBC是JAV...原创 2018-04-19 11:24:19 · 419 阅读 · 0 评论