
JAVA
staHuri
https://github.com/huifer/planar_algorithm
展开
-
VSCode Java 开发配置
在输入java文字后输入回车键,会出现很多插件,我们选择Extension Pack for Java插件将其进行安装,Extension Pack for Java插件是搜索选项中的第一个,点击右下角的绿色install按钮即可进行安装。安装完成后重新创建SpringBoot项目,然后按照VSCode的提示信息一步步选择或者输入相关内容,最后会选择本地的一个文件夹,都选择完成后会弹出如图所示内容。,打开进入到下载页面,读者需要选择自己的操作系统进行下载,下载完成后在操作系统中将其安装。...原创 2022-08-02 19:17:11 · 1537 阅读 · 1 评论 -
[Spring-源码] BeanDefinitionDocumentReader 解析
Spring BeanDefinitionDocumentReaderAuthor: HuiFer源码阅读仓库: SourceHot-spring全路径: org.springframework.beans.factory.xml.BeanDefinitionDocumentReader/** * SPI for parsing an XML document that contains Spring bean definitions. * Used by {@link XmlBeanDefi原创 2020-09-29 09:12:17 · 458 阅读 · 1 评论 -
HuiFer 带你读懂 BeanFactory getBean 方法
Spring BeanFactoryAuthor: HuiFer源码阅读仓库: SourceHot-springBeanFactory 概述org.springframework.beans.factory.BeanFactory类图方法列表贴出部分代码. 仅表示方法作用public interface BeanFactory { // 从容器中根据beanname获取 Object getBean(String name) throws BeansException原创 2020-09-03 15:58:43 · 1939 阅读 · 0 评论 -
常用 crud 的思考和设计
Crud 项目介绍简化单表的CRUD基本代码.项目地址https://github.com/huifer/crud/tree/dev为什么使用比如学生管理系统.表设计有 课程表t_classes等等…在管理系统中我们需要添加课程的时候需要做一次 controller 、 service 、 redis 、 dao 这几类操作. 每多一个表格都需要做这一批操作.一般有新增、修改、删除、根据 id 查询.当使用了这个项目后通过标记一些注解即可获得上述的功能.假设现在有表格原创 2020-08-31 14:04:31 · 435 阅读 · 0 评论 -
idea 快速日志
private static final Logger log = LoggerFactory.getLogger($class$.class);if (log.isInfoEnabled()) { log.info("$METHOD_NAME$,$PLACE_HOLDERS$", $ARGUMENTS$);}METHOD_NAME = methodName()PLACE_HOLDERS = groovyScript("_1.collect { it + ' = {}'}.join(',原创 2020-08-25 09:19:27 · 246 阅读 · 0 评论 -
对象比较
对象比较命题对数据库对象在更新的时候进行数据比较,记录差异.设计确定比较对象在这里使用 Spring 中 ComponentScan 的思想.在 Spring 中通过@Component注解来说明这是一个组件,在通过ComponentScan扫描到带有@Component的类进行注册.确定比较的字段一个数据库对象存在很多字段,可能全部需要比较,也可能只是部分比较.对此需要通过一定的方法找到需要比较的字段.同样使用注解进行控制.在思考一个问题,通常我们使用关系型数据库,会存储原创 2020-08-20 08:34:36 · 235 阅读 · 0 评论 -
从 crud 认识设计模式
从 crud 认识设计模式在业务系统中增删改查(crud)是经常需要开发的内容,本文主要从增删改查来对设计模式进行一个学习或使用.一般我们对一个表的增删改查有如下一些接口定义boolean insert(Object o);Object byId(Integer id);boolean del(Integer id);boolean editor(Integer interfaces, Object o;再带上 redis 的 crud 操作,具体不进行列举.整体操作在这里我们原创 2020-08-11 09:07:26 · 562 阅读 · 0 评论 -
Spring源码分析-事务
Spring 事务Author: HuiFer源码阅读仓库: SourceHot-Spring声明式事务Propagation事务传播public enum Propagation { /** * 有事务则加入,没有则新建 */ REQUIRED(TransactionDefinition.PROPAGATION_REQUIRED), /** * 有事务就用,如果没有就不开启(继承关系) * @see org.springframew原创 2020-07-29 17:42:18 · 259 阅读 · 0 评论 -
手写 spring mvc 基于注解
手写 spring mvc 基于注解author: huifer前置知识在 spring 中我们会有如下几个注解来帮助我们定义 web-mvc 的语义ControllerServiceRequestParamAutowiredRequestMapping这些注解相比大家都使用过在这里就不具体展开描述了. 在后面的开发中我们再来细说配置篇web.xml 的配置在 web.xml 中我们需要配置servlet-classspring的配置(伪)url-pat原创 2020-07-26 18:11:12 · 185 阅读 · 0 评论 -
如何做一个zookeeper可视化项目
如何做一个zookeeper可视化项目author: huifergir_repo: https://github.com/huifer/zk-view技术选型后端技术spring bootcurator-framework前端技术vueelement-ui选型说明:spring boot 快速搭建 rest-apicurator-framework 与zookeeper 进行交互的jarvue element-ui 前端展示实现curator-fra原创 2020-06-29 13:46:20 · 379 阅读 · 0 评论 -
单例模式拓展讲解-JAVA
单例模式拓展Author : HuiFerGit-Repo: JavaBook-srcJAVA 中的单例RuntimeServletContextServletConfigApplicationContextDBPoll懒汉式的多线程调试过程写一个懒汉式public class SimpleSingleton { public static SimpleSingleton lazy = null; private SimpleSingleton() {原创 2020-06-27 21:23:03 · 258 阅读 · 0 评论 -
zookeeper-curator-操作
zookeeper crudauthor: huifergit_repo : curator依赖<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>5.0.1-SNAPSHOT</version></dependency>原创 2020-06-27 14:32:06 · 345 阅读 · 0 评论 -
SpringFactoriesLoader 源码分析
SpringFactoriesLoaderAuthor: HuiFer源码阅读仓库: SourceHot-spring-boot全路径 : org.springframework.core.io.support.SpringFactoriesLoader测试类 : org.springframework.core.io.support.SpringFactoriesLoaderTestsloadFactories**加载并实例化工厂 **public static &l原创 2020-05-18 16:04:14 · 417 阅读 · 0 评论 -
Seata 学习
Seata 学习本文主要描述 Seata 分布式事务的环境搭建、nacos 配置中心整合、DB模式的使用、spring-cloud 整合作者 : huifer 编辑时间: 2020年05月14日软件列表seatanacos安装服务端本文使用 1.2.0 版本进行安装配置整合 , 下载地址请查看github配置服务端# 解压编译后文件tar -zxvf seata-server-1.2.0.tar.gz# 查看解压内容cd seatals -ls-rw-r--r--@原创 2020-05-14 14:36:41 · 1239 阅读 · 0 评论 -
[JAVA] mybatis 使用 geometry
mybatis 使用 geometry创建表DROP TABLE IF EXISTS `geo`;CREATE TABLE `geo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `g` geometry NULL, `s` json NULL, PRIMARY KEY (`id`) USING BTREE) ENGINE = Inno...原创 2020-03-03 09:51:43 · 4519 阅读 · 0 评论 -
Java 读取excel解析合并单元格
需求解析这个excel 空格填写e ,单元格合并的拆分后填写合并前的值id 啊 哦 额 1 2 2 3 2 e e 3 3 4 4 3 4 4 4 3 5 0 0 2019-09-01 code依赖 <dependency> <groupId>org.apache.poi</groupId> <artif...原创 2019-11-07 13:51:22 · 3514 阅读 · 2 评论 -
微服务治理策略
微服务治理策略Author: HuiFerDescription: 该文简单介绍微服务的治理策略以及应用技术服务的注册和发解决问题: 集中管理服务解决方法: eureka 、zookeeper负载均衡解决问题: 降低服务器硬件压力解决方法: nginx 、 Ribbon通讯解决问题: 各个服务之间的沟通桥梁解决方法 :同步消息restrpc...原创 2019-10-28 20:42:25 · 896 阅读 · 1 评论 -
Spring 常用注解清单
spring 注解Author: HuiFer核心注解@Required在Bean的set方法上使用,表示该属性不可为空@Autowired自动注入Bean,方式为ByType。使用@Autowired(required = false)时,即便找不到Bean也不会报错@Qualifier该注解通常和@Autowired一起使用,可以当作ByName注入Bean,使用...原创 2019-10-28 20:37:45 · 313 阅读 · 0 评论 -
redis
Redis 技术栈Author: HuiFer安装yum & aptapt-get install Redis-serveryum install Redis编译下载wget http://download.Redis.io/releases/Redis-5.0.5.tar.gz编译 tar -zxvf Redis-5.0.5.tar.gz c...原创 2019-10-28 20:37:05 · 323 阅读 · 0 评论 -
微服务与传统web
微服务Author: HuiFer传统 web 开发特点功能都在一个包中没有外部依赖部署在一个 servlet 容器中优势集中式管理基本不会重复开发功能在本地,不需要进行分布式管理劣势开发效率低代码维护成本高部署时间长稳定性不高拓展性不够微服务开发特点多个独立服务组成一个完整的系统独立部署服务之间独立开发业务分布式管理按照业务划分服务...原创 2019-10-28 20:36:22 · 1164 阅读 · 0 评论 -
Java 微服务技术栈 相关清单
微服务技术栈Author: HuiFerDescription: 该文简单介绍微服务技术栈有哪些分别用来做什么技术栈微服务开发作用: 快速开发服务.SpringSpringMvcSpringBoot官网,Spring目前是JavaWeb开发人员必不可少的一个框架,SpringBoot简化了Spring开发的配置目前也是业内主流开发框架.微服务注册发现作用: ...原创 2019-10-26 21:05:22 · 984 阅读 · 0 评论 -
jdk相关问题
JDK 相关== 和 equals==public class Run { public static void main(String[] args) { int i = 1; int j = 1; System.out.println(i == j); // true String a = "b"; ...原创 2019-06-17 15:44:31 · 239 阅读 · 0 评论 -
webflux
Web-FluxMono案例依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency...原创 2019-06-17 15:42:24 · 259 阅读 · 0 评论 -
【JAVA】多边形重心计算
多边形重心计算三角形重心顶点为a,b,c的三角形重心为x = (xa + xb + xc) / 3,y = (ya + yb + yc) / 3多边形重心x = (x1w1 + x2w2 + … + xnwn)/Wy = (y1w1 + y2w2 + … + ynwn)/Wimport org.locationtech.jts.geom.Coordinate;import or...原创 2018-10-15 14:56:53 · 2297 阅读 · 2 评论 -
[JAVA] mapper层sql校验
mapper层sql校验,在项目启动前进行sql语法校验,通常要到执行这个mapper才会报错。package ix.account.util;import com.alibaba.druid.sql.ast.SQLStatement;import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;impor...原创 2019-07-08 15:12:49 · 1304 阅读 · 0 评论 -
[JAVA]spring-aop拦截controller以及service方法
为了方便调试记录使用的参数,使用AOP将controller 以及service包下的方法做切面拦截所有的方法package com.huifer.rpctest.aspect;import java.lang.reflect.Method;import java.lang.reflect.Parameter;import java.util.ArrayList;import ja...原创 2019-07-12 08:45:21 · 3886 阅读 · 0 评论 -
StringRedisTemplate操作
StringRedisTemplate常用的一些操作对象操作字符串 redisTemplate.opsForValue();操作hash redisTemplate.opsForHash();操作list redisTemplate.opsForList();stringRedisTemplate 操作代码如下 /** * 设置k-v */ pub...原创 2019-08-20 11:07:41 · 640 阅读 · 0 评论 -
初始分布式
认识分布式常见概念单机结构一个app即可完成所有操作,适用于业务量小的项目食客厨师点单上菜食客厨师集群结构多个单机结构的集合物理上增加额外的机器食客1厨师1食客2厨师2点单上菜点单上菜食客1厨师1食客2厨师2分布式分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够...原创 2019-06-17 15:40:22 · 271 阅读 · 0 评论 -
zookeeper
zookeeper演进用户服务订单服务集群商品服务调用订单服务维护多个wsdl调用商品服务维护多个wsdl用户服务订单服务集群商品服务问题wsdl地址维护服务集群的负载均衡服务发现确保服务存在用户服务中间件订单服务1订单服务2订单服务3调用订单服务由中间件来确定具体访问哪一个订单服务调用订单服务调用订单服务调用订单服务订单服务内容相同用户服务中间件订单服务1订单服务2订单服...原创 2019-06-17 15:37:10 · 325 阅读 · 0 评论 -
线段交叉类型判断
线段交叉类型判断如图判断是T Y X 类型操作思路预处理数据集: 将所有LineString 打断,最终结果为 LineString 只有起点 终点2个点获取所有线段的交点 ,并制作成如下格式{"交点坐标":[相交线段]}求相交线段的夹角{"交点坐标":[夹角角度]}自定义环节: 怎么样才算是一个XYT 目前已经计算出角度, 后...原创 2019-05-21 14:36:44 · 950 阅读 · 0 评论 -
PDF2IMAGE(png格式) 清晰
需求将pdf拆分成多个图片 且清晰依赖<dependency> <groupId>com.kenai.nbpwr</groupId> <artifactId>com-sun-pdfview</artifactId> <version>1.0.5-201003191900</version>原创 2019-01-02 09:41:28 · 3045 阅读 · 0 评论 -
SpringBoot 静态资源目录访问
静态资源配置创建一个StaticConfig 继承 WebMvcConfigurerAdapterpackage com.huifer.blog.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotat...原创 2019-01-01 21:12:34 · 2681 阅读 · 0 评论 -
【测绘程序设计试题集】 试题10 坐标系转换
坐标系转换数据a,6378137.0001/f,298.3L0,111Q71,36.082771,109.191366,5533.025P91,33.445550,110.154237,4785.906Q42,38.372964,108.023609,5453.323Q34,39.305664,111.361612,5800.386B99,37.264007,108.38506...原创 2018-11-12 14:23:34 · 5884 阅读 · 7 评论 -
【测绘程序设计试题集】 试题09 反距离加权插值
数据P01,4302.047,3602.652,10.804P02,4305.768,3598.683,10.855P03,4310.610,3595.393,10.998P04,4313.138,3595.086,12.038P05,4316.843,3594.703,12.818P06,4320.164,3593.923,12.784P07,4324.247,3592.690,1...原创 2018-11-12 10:05:03 · 2134 阅读 · 0 评论 -
【测绘程序设计试题集】 试题15 纵横断面计算
数据H0,10.000K0,K1,K2K0,4574.012 ,3358.300 ,12.922 P01,4570.355 ,3382.210 ,10.558 P02,4571.827 ,3372.090 ,10.619 P03,4570.907 ,3362.574 ,10.771 P04,4569.494 ,3355.660 ,14.233 P05,4556.682 ,3361...原创 2018-11-13 19:45:15 · 5388 阅读 · 2 评论 -
【测绘程序设计试题集】 试题04 最短路径计算
数据武大,地大,6武大,光谷,11武大,图书城,24地大,光谷,4地大,华科,8光谷,地大,5光谷,图书城,9光谷,华科,7图书城,光谷,11华科,光谷,9问题解Edgepackage com.te.sortPath;/** * <p>Title : Edge </p> * <p>Description : 起点 ,...原创 2018-11-09 08:03:11 · 3993 阅读 · 1 评论 -
【JAVA】在SpringBoot 项目中 利用maven 的generate插件
使用maven 插件 generate生成MyBatis相关文件在项目中增加 maven 依赖- mybatis-spring-boot-starter - mysql-connector-java- mybatis-generator-maven-plugin 插件 自动读取 resources 下的generatorConfig.xml 文件<?xml versio...原创 2018-07-18 15:34:53 · 1126 阅读 · 0 评论 -
【JAVA】 idea使用lombok
使用Lombok 简化POJO代码正常编写一个java POJO 类 ,每次在做这个内容编写的时候都会需要很多的 get set 经常重复写,如果忘记写了一个也不容易找到 所以使用了Lombokmaven 配置<dependency> <groupId>org.projectlombok</groupId> &...原创 2018-07-17 09:22:45 · 227 阅读 · 0 评论 -
【Java】JDK8 学习 第五章练习题
package com.read.JDK8.Chap05;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;import static java.util.Comparator.comparing;import static java.util.stream.Collect...翻译 2018-05-31 12:02:01 · 939 阅读 · 0 评论 -
geoserver 上传压缩包文件
package com.geoTools;import it.geosolutions.geoserver.rest.GeoServerRESTPublisher; import it.geosolutions.geoserver.rest.GeoServerRESTReader; import it.geosolutions.geoserver.rest.decoder.RESTData...原创 2018-06-14 09:54:06 · 805 阅读 · 0 评论