
Java
文章平均质量分 93
Keith003
这个作者很懒,什么都没留下…
展开
-
代码审查(文档整理)
常用的代码审查工具git/SUBVERSIONGerritUpsource显示代码变更√√√使用源码仓库√√在线代码讨论√√异步审查支持√√使用协议GPLv2/Apache License 2.0Apache License 2.0付费license代码审查范根检查法轻量级的审查流程结对编程同步代码审查异步代码审查代码审查需要关注什么编码风格命名规范功能性测试覆盖复杂度注释设计.原创 2020-07-18 21:33:25 · 1483 阅读 · 0 评论 -
springboot2.x Spring Security Vue-resource跨域问题解决
原因:最近在将一个项目修改为前后端分离中,前端使用Vue 开发碰到跨域问题,这里记录一下。服务器端修改1、在配置类中设置 CorsFilter,新建CorsConfigimport org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;...原创 2020-02-08 13:13:18 · 1132 阅读 · 0 评论 -
iOS内购遇到刷单问题
问题描述 最近公司发现公司发现有人通过苹果内购充值,实际上苹果后台查询充值记录并没有相关记录,初步判断可能内购流程出现了问题进行排查。苹果内购流程图IOS SDKSDK SERVEAPPLE 服务1、创建订单2、返回订单号支付第一步生下单3、发起支付4、返回支付结果支付第二步 支付5、订单号、苹果返回receipt-data6、验证支付结果7、返回验证结果8、返回最终支付结果支付第三步完成...原创 2019-10-17 00:04:56 · 3199 阅读 · 0 评论 -
springcloud-eureka集群-整合hystrix框架-配置监控
在服务调用者(hystrix客户端)的依赖文件pom.xml加入检测依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependenc...转载 2018-08-30 14:14:41 · 444 阅读 · 0 评论 -
IDEA中Git的更新、提交、还原方法
第一步:在提交项目之前必须先对项目进行更新,此项特别重要,如果不进行更新,别人有项目提交到服务器上,那么你的项目将会提交不上去,使用git解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别人写的代码,不像svn使用那么简单,所以提交自己项目前必须进行更新(特别重要);如图1:选择pull进行更新代码操作;第二步:更新后的结果如图2、3;其中图2:表示从服务器上更新下来的代码;图...转载 2018-10-25 12:54:57 · 412 阅读 · 0 评论 -
Git 常用命令总结
git的一些基础命令Git常用命令请确保已经安装了git客户端 一般配置git --version //查看git的版本信息git config --global user.name //获取当前登录的用户git config --global user.email //获取当前登录用户的邮箱登录git/* 如果刚没有获取到用户配置,则只能拉取代码,不能...转载 2018-10-25 13:02:45 · 275 阅读 · 0 评论 -
jar同步到maven文档
如何把本地的jar包 同步结构到maven pom文件里面1、把jar包 放到指定路径 例如:D:11jar2、Pom文件里面引入<dependency> <groupId>com.af.balance</groupId> <artifactId>balance</artifactId> &l...转载 2018-10-25 13:41:52 · 430 阅读 · 0 评论 -
面试题 ------ 前端部分
1、简单所以下html,css,javascript 在网页开发中的定位?HTML 超文本标记语言 定义网页的结构CSS 层叠样式表,用来美化页面JavaScript 主要用来验证表单,做动态交互(其中 ajax)2、简单介绍下ajax?什么是ajax? 异步的javascript 和 xml作用是什么? 通过AJAX 与服务器进行数据交换,AJAX 可以使用...转载 2018-10-23 15:38:04 · 430 阅读 · 0 评论 -
面试题 ------ 框架部分
1、什么事框架? 框架(Framework)是一个框架————指约束性,也是一个架子————指器支撑性 IT 语境中的框架,特指为解决一个开放性问题而设计得具有一定约束性的支撑结构,在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。 1、框架本身一般不完整到可以解决特定问题,但是可以帮助您快速解决特定问题: ...原创 2018-10-24 15:57:07 · 17119 阅读 · 0 评论 -
MyBatis 关联查询(一对多 & 多对一)
1、一对多举个例子:一个国家有很多人。一对多1)表结构-- 国家countryCREATE TABLE `country` ( `cid` int(5) NOT NULL AUTO_INCREMENT, `cname` varchar(20) NOT NULL, PRIMARY KEY (`cid`)) ENGINE=InnoDB AUTO_INCREMENT=1 D...转载 2018-10-29 14:06:55 · 406 阅读 · 0 评论 -
MyBatis引入外部文件的resultMap
一.使用 1.有resultMap属性的标签都可以使用<select resultMap="命名空间.resultMap的id"></select><association resultMap="命名空间.resultMap的id"></association><collection resultMap="命名空间.res转载 2018-10-29 14:10:09 · 1696 阅读 · 1 评论 -
版本控制工具git之生成ppk及使用
一、简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 二、工具介绍github:服务器端git:客户端TortoiseGit:是一个...转载 2018-10-25 10:43:07 · 638 阅读 · 0 评论 -
面试题 --- 数据库部分
1、常用的关系型数据库, 非关系型数据库关系型:mysql 、 oracle 、 sqlserver非关系型:redis、memcache、 mongodb、hadoop 等2、简单介绍下关系型数据库三范式?范式:范式就是规范,就是数据库在设计表时,要遵循的三个范式要想满足第二范式必须满足第一范式、要满足第三范式必须先满足第二范式第一范式(1NF):是指数据库表的每一列都是...转载 2018-10-23 14:25:49 · 462 阅读 · 0 评论 -
SpringCloud 服务链路追踪Sleuth
微服务架构是通过业务来划分服务的,对外暴露的接口,可能需要很多个服务协同才能完成一个接口功能,如果链路上任何一个服务出现问题,都会形成导致接口调用失败。此时查找出现问题的微服务是很困难的。Spring Cloud Sleuth主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin。对于zipkin,pinpoint,以及skywalking如何选型,可以移步这里查看。说明...转载 2018-09-05 11:40:34 · 484 阅读 · 0 评论 -
Lombok使用示例详情
简介Lombok是一个可以通过注解来帮助我们简化消除一些必须有但显得很臃肿的Java代码的一种工具,通过使用对应的注解,可以在编译源码的时候动态添加源码。例如在实体中经常见到一堆Getter和Setter方法,这些方法是必要的不可缺少的,但是这些代码感觉却像是“垃圾”,看起来重复而臃肿,看起来也不美观,也不简洁清爽,可以使用lombok,在类上直接使用@Getter @Setter 这两个...转载 2018-09-17 10:42:54 · 524 阅读 · 0 评论 -
使用IntelliJ IDEA配置Tomcat(入门)
一、下载Tomcat1、进入官网http://tomcat.apache.org/,选择download,下载所需Tomcat版本。此处我们选择下载最新版本Tomcat 9。注意有zip和exe两种格式的,zip(64-bit Windows zip(pgp,md5,sha1))是免安装版的,exe(32-bit/64-bit Windows Service installer(p...转载 2018-10-11 17:14:46 · 421 阅读 · 0 评论 -
IntelliJ IDEA 配置Tomcat 运行Web项目
以前都用MyEclipse写程序的 突然用了IDEA各种不习惯的说 借鉴了很多网上好的配置办法,感谢各位大神~前期准备 IDEA、JDK、Tomcat请先在自己电脑上装好 好么~ 博客图片为主 请多看红框框开始1.创建、配置项目 1.1创建项目 New Project - 【next】 1.2 给你的项目起名字,选地方 - 【finish】 1.3开始配置项目 配置...转载 2018-10-11 17:16:32 · 435 阅读 · 0 评论 -
面试题 ------ 基础篇
1、面试流程1、简单的自我介绍 我是xxx,工作xxx年,我现在在xxx公司,先后做过xxx个项目,yyy项目。2、你简单介绍一下xxx项目。为了解决xxx问题,开发了一套xxx系统,该系统主要有哪些部分组成。简单介绍项目的整体架构。参与某个模块得开发。就要求你说一下这个模块得业务及设计。3、会问一下Java 的专业技能4、你还有什么需要询问我的吗? 公司要做项目?项目...转载 2018-10-18 16:56:10 · 469 阅读 · 0 评论 -
SVN eclipse版 创建分支/合并分支/切换分支
在建立项目版本库时,可首先建好项目文件夹,并在其中建立trunk, branches, tags三个空的子目录。这样在trunk中开始进行开发trunk是主分支,是日常开发进行的地方。 branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。 tags目录一般是...转载 2018-09-30 10:15:19 · 1043 阅读 · 0 评论 -
面试题 --- Web部分
1、讲一下http get 和 post请求得区别? GET 和 POST 请求都是http 的请求方式,用户通过不同的http 的请求方式完成对资源(url)的操作,具体点来讲GET 一般用于获取/查询 资源信息。而 POST 一般用于更新 资源信息。 http 定义了与服务器交互的不同方法,最基本的方式有4种,分别是GET,POST,PUT,DELETE,URL 全称是资...转载 2018-10-22 16:51:02 · 326 阅读 · 0 评论 -
设计模式 基本概念
一、设计模式的分类其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:二、设计模式的六大原则总原则:开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需...转载 2018-09-30 11:03:58 · 522 阅读 · 0 评论 -
单点登录
初识单点登录最初接触到单点登录要追溯到3年多以前了,那时候看到的只是passport,当时要做全国所有社区的登录,然后就照着内部文档写了代码,然后就接入了(这里要提一句是百度与腾讯一旦形成产品的技术项目,文档都很不错)然后就没有然后了......而知识的珍贵程度却是这样的:知识珍贵度排名:听过 < demo过 < 实际工作用过 < 实际工作中被坑过< 实际工...转载 2018-10-24 17:16:51 · 322 阅读 · 0 评论 -
Mybatis Generator(简称MBG)的最完整配置文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-confi...转载 2018-11-01 13:39:43 · 370 阅读 · 0 评论 -
Spring Boot整合一之Spring Boot整合RabbitMQ
1.首先我们简单了解一下消息中间件的应用场景异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西.(2)并行方式:将注册信息...转载 2018-11-07 15:09:38 · 456 阅读 · 0 评论 -
Java必备主流技术流程图
1、Spring的生命周期Spring作为当前java最流行性、最强大的轻量级容器框架,了解熟悉Spring的生命周期非常有必要容器启动后,对bean进行初始化按照bean的定义,注入属性检测该对象是否实现xxxAware接口,并将相关的xxxAware实例注入给bean,如BeanNameAware等以上步骤,bean对象已经正确构造,通过实现BeanPostProcessor接口...转载 2019-09-26 19:57:57 · 419 阅读 · 0 评论 -
Windows安装Elasticsearch并安装elasticsearch-head 插件
安装前准备jdk(版本不要低于1.8) :https://www.oracle.com/technetwork/java/javase/downloads/index.html.Elasticsearch: https://www.elastic.co/downloads/elasticsearch.elasticsearch-head : https://github.com/mobz/...原创 2019-07-12 11:52:35 · 1306 阅读 · 0 评论 -
linux tomcat 配置远程调试
1.利用xftp工具找到/data/webapp/tomcat/bin目录下的catalina.sh文件(也可以使用xshell用命令编辑该文件)编辑该文件,在文件的最开始添加如下内容CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,su...转载 2018-12-12 10:49:15 · 836 阅读 · 0 评论 -
mybatis 枚举自动转换
基于springboot 整合mybatis tk.mybatis 修改配置没有生效,只好重写 EnumTypeHandler 类springboot 中 mybatis configuration 配置失效问题:https://blog.youkuaiyun.com/Keith003/article/details/84289638结构如下1、创建 BaseEnums 枚举公用接口...原创 2018-11-20 11:35:30 · 17790 阅读 · 0 评论 -
springboot 中 mybatis configuration 配置失效问题
环境springboot 2.0.0 tk.mybatis(mapper-spring-boot-starter) 2.0.0场景java 启动类import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApp...转载 2018-11-20 11:19:58 · 7311 阅读 · 0 评论 -
Spring MVC防御CSRF、XSS和SQL注入攻击
说说CSRF对CSRF来说,其实Spring3.1、ASP.NET MVC3、Rails、Django等都已经支持自动在涉及POST的地方添加Token(包括FORM表单和AJAX POST等),似乎是一个tag的事情,但如果了解一些实现原理,手工来处理,也是有好处的。因为其实很多人做web开发,但涉及到web安全方面的都是比较资深的开发人员,很多人安全意识非常薄弱,CSRF是什么根本没有听说...转载 2018-11-23 10:30:18 · 440 阅读 · 0 评论 -
java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取/*** 根据属性名获取属性值* * @param fieldName* @param object* @return*/private String getFieldValueByFieldName(String fieldName, Object object) { try { Field fi...转载 2018-11-20 10:18:44 · 673 阅读 · 0 评论 -
Springboot freemark自定义标签
spring-boot开发网站使用freemarker里的自定义标签方法创建类实现 TemplateDirectiveModel 类@Componentpublic class UserTopicDirective implements TemplateDirectiveModel { @Autowired private UserService userService; ...转载 2018-11-22 14:07:35 · 737 阅读 · 0 评论 -
Springboot中Spring-cache与redis整合
也是在整合redis的时候偶然间发现spring-cache的。这也是一个不错的框架,与spring的事务使用类似,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作。如果这些注解不满足项目的需求,我们也可以参考spring-cache的实现思想,使用AOP代理+缓存操作来管理缓存的使用。 在这个例子中我使用的是redis,当然,因为spring-cache的存在,我们可以整合多样的...转载 2018-11-21 18:29:28 · 1191 阅读 · 0 评论 -
去掉IntelliJ IDEA生成的mybatis映射文件中黄色和绿色的背景
IntelliJ IDEA 打开 mybatis 的 xml 文件时,对应的 xml 文件中 sql 语句背景色总是有黄色或绿色的背景色。提示(红圈处)上已经说明,需要配置在 IDEA 中配置 data source (通常我们很少使用 IDE 去查看数据库内容,而是使用其他专门的 DB 工具)。去掉 No data sources configure 警告当然,如果你选择配置 ...转载 2018-11-21 15:17:43 · 677 阅读 · 0 评论 -
IntelliJ IDEA 自动导入包 关闭重复代码提示
idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置设置idea导入包勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包。 勾选标注 2 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们导入需要用到的包。但是对于那些同名的包,还是需要手动 Alt + E...转载 2018-11-21 15:09:07 · 321 阅读 · 0 评论 -
@JsonSerialize的使用
@JsonSerialize注解,可以实现date数据转换成long型数据等功能,该注解作用在属性的getter()方法上用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。因为在java中日期时期的时间戳是ms,我现在需要将ms转换为s,就需要将ms/1000package com.whf.utils.serializer;import com.f...原创 2018-11-16 17:47:06 · 3081 阅读 · 0 评论 -
Java 快速复制两个类中的相同属性(无需继承关系)
今天开发中遇到一个问题,其实也算不上是问题,只是本猿比较懒而已!目前本猿主要做的是接口开发,现在需要将接口提供方的一个类中的部分字段挪到我自己的项目来,然而奈何本猿太懒,不想一个一个set、get…… 要不然说“懒”是促进社会科技进步的最大动力呢!!!鉴于这一情况,本猿果断使用了Spring神器的一个工具包——BeansUtils,简直帅出了宇宙!下面就让本猿来带你们见识见识这个逆天的工具。 ...转载 2018-11-16 17:45:11 · 5096 阅读 · 0 评论 -
Spring Boot绑定枚举类型参数
一、概述在利用Spring进行Web后台开发时,经常会遇到枚举类型的绑定问题。一般情况下,如果Spring接收到的参数值为字符串类型,Spring会根据枚举的值与传入的字符串进行对应。假设有如下枚举清单1:枚举定义public enum Gender { MALE, FEMALE;}那么,只要客户端在发送请求时,将参数的值设为MALE或FEMALE即可。请求类似如下形式:...转载 2018-11-20 18:13:42 · 1905 阅读 · 0 评论 -
mybatis-generator自定义注释生成
最近做的项目发现没有中文注释,故查找资料,特此记录。本文所用的是基于mybatis-generator 1.3.2版本来完成的。mybatis-generator 自动生成的代码注释是很反人类的,通常我们在使用的时候都是按照如下设置关闭注释:<commentGenerator> <!-- 关闭自动生成的注释 --> <pr...转载 2018-11-07 16:34:31 · 744 阅读 · 0 评论 -
springcloud-eureka集群-整合hystrix框架整合feign
继之前的项目继续扩展,整合hystrix和feign这两个框架。1、修改服务器调用者的application.yml,增加如下代码# 打开feign对hystrix的支持feign: hystrix: enabled: true# 配置hystrixhystrix: threadpool: default: coreSize: 10 #线程池...转载 2018-08-30 13:49:00 · 323 阅读 · 0 评论