自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 SpringDATAJPA框架与原理-sql、jpql、方法名称规则查询、Specification动态查询、多表查询

SpringDATAJPA封装JPA操作依赖<properties> <spring.version>5.0.2.RELEASE</spring.version> <hibernate.version>5.0.7.Final</hibernate.version> <slf4j....

2019-09-11 17:01:58 758

原创 jpa入门操作

简述ORM思想是将实体类与表关系的映射,属性与字段映射,操作实体类就相当于操作数据库表,快速的增删改查。JPA是一种规范,内部是接口和抽象类,hibernate是一个实现框架,SpringDATAJPA是Spring的集成。jpa全称java presistence api。依赖<dependencies> <!--hibernate对jpa的支持-...

2019-09-10 16:44:20 214

转载 idea下maven构建的SpringBoot项目打jar包与war包

1.项目打包    项目开发结束后,需要打包部署到外部服务器的Tomcat上,主要有几种方式。(1)生成jar包cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令## 排除测试代码后进行打包mvn clean package -Dm...

2019-09-07 14:45:50 795

原创 微信支付及二维码生成

完整流程从微信官方的文档来看,开发需要做的事情主要有一下几个步骤:1.生成订单并调用统一下单api;2.接收预支付链接。3.将链接生成为二维码。4.等待微信通知支付结果。5.回执。6.可调用查询api查询订单状态(可选)。1.下单接口调用:请求参数:关键的必填信息就几个:公众号ID、商户号、随机字符串、签名、商品描述、商户订单号、标价金额、终端ip、通知地址、交易类型...

2019-09-05 19:39:25 5077

原创 后端传Long类型数据精度问题

在今天编码过程中发现一个小问题。后端数据库数据:1169459812992421888前台拿到:1169459812992422000前几位高度重合,排除程序逻辑问题。在返回前设置断点打印,数据依据与数据库依旧保持一致说明数据是在返回过程中丢失了精度。考虑不直接传Long,而转成String来传成功解决。...

2019-09-05 12:21:38 307

原创 自定义SpringMVC拦截器及注册

自定义的拦截器首先需要实现接口 HandlerInterceptor;内有三个方法分别对应:preHandle:预处理回调方法,实现处理器的预处理(如登录检查),第三个参数为响应的处理器(如我们上一章的Controller实现);返回值:true表示继续流程(如调用下一个拦截器或处理器);false表示流程中断(如登录检查失败),不会继续调用其他的拦截器或处理器,此时我们需要通过r...

2019-09-01 21:19:13 587

原创 单点登录——无状态登录JWT+RSA+遇到的坑

先说有状态登录tomcat中,把用户的登录信息保存在服务端的session中,再给用户一个cookie值。记录对应的session值,下次客户端带cookie来访问时,再识别对应的session找到用户的信息。缺点:服务器的负荷变大,保存大量的session数据。搭建集群,跨服务将无法识别身份。无状态登录服务器不保存用户的登录信息,由客户端请求携带自己的身份信息。服务器不再保存用户...

2019-08-25 15:52:04 3439 1

原创 用户密码加密——MD5加密

通常防止数据库脱库泄露等导致的关键密码等信息泄露,不建议明文保存用户密码信息,可以采用MD5加密,MD5加密是一种不可逆加密。java实现方式:<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId&g...

2019-08-24 15:41:47 933 1

原创 Bean数据合法性校验————Hibernate Validator框架

在日常开发中,Hibernate Validator经常用来验证bean的字段,基于注解,方便快捷高效。引入依赖 <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validato...

2019-08-24 12:06:47 272

原创 配置信息的读取与使用

1.自定义的一些可配置参数2.加入@ConfigurationProperties注解配置前缀3.加入@Component注解4.加入@Data设置get set方法

2019-08-21 20:57:57 117

原创 Redis入门及SpringDataRedis

Redis是一款非常流行的NoSql数据库非关系型数据库:monogoDB redis。安装:cd redis make && make install修改config#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问protected-mode no # 把yes改成no,允许外网访问daemonize yes # 把no改成...

2019-08-19 15:57:46 96

原创 Spring AMQP 整合RabbitMQ

Spring AMQP是对AMQP协议的抽象实现,Spring-rabbit是协议的具体实现,底层使用的就是RabbitMQ。开始依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp&lt...

2019-08-11 21:42:18 107

原创 RabbitMQ消息队列入门

什么是消息队列?解决应用程序与应用程序之间的通信。利用典型的消费者生产者模型。消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,实现了生产者和消费者的解耦。AMQP和JMSAMQP 高级消息队列协议,规定数据传输格式和方式。垮语言垮平台。JMS JavaMessageService 必须使用java语言ActiveMQ:基于JMSRabbitMQ:基于AM...

2019-08-11 12:03:07 207

原创 用stream快速操作collection

利用stream的方法,可以快速对list里面的元素进行操作,不用再繁琐的遍历操作。map:List<String> list= Arrays.asList("a", "b", "c", "d"); List<String> collect =list.stream().map(String::toUpperCase).collect(Collectors.toLi...

2019-07-27 15:53:52 314

原创 Spring Data elasticsearch整合elasticsearch

Spring Data elasticsearch与elasticsearch版本支持简单的使用步骤1.引入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start...

2019-07-22 17:59:15 223

原创 Elasticsearch安装使用与常见问题+Kibana

什么是Elasticsearch ? 特点:分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)Restful风格,一切API都遵循Rest原则,容易上手近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。出于安全考虑,elasticsearch默认不允许以root账号运行。所以需要新建一个用户useradd elastic...

2019-07-18 00:35:21 564

原创 FastDFS分布式文件系统

FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:文件存储文件同步文件访问(上传、下载)存取负载均衡在线扩容适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。架构图FastDFS两个主要的角色:Tracker Server 和 Storage Server ...

2019-07-11 22:15:54 154

原创 跨域问题

跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是于当前页同域名的路径,这能有效的阻止跨站攻击...

2019-07-11 15:31:44 152

原创 文件及图片上传处理

前端post请求类型是file所以只需要在controller层拦截post请求后,@RequestParam(“file”)MultipartFile file 用MultipartFile拦截请求参数即可取出返回值通常是图片路径(String类型)service拿到后首先对文件类型进行安全校验,常见校验方法为,后缀名校验。重命名,通常使用UUID加原后缀名。UUID.rando...

2019-07-11 15:24:25 242

原创 Nginx的安装与配置

nginx是一个web服务器Web服务器分2类:web应用服务器,如:tomcatresinjettyweb服务器,如:Apache 服务器NginxIIS区分:web服务器不能解析jsp等页面,只能处理js、css、html等静态资源。并发:web服务器的并发能力远高于web应用服务器。解决端口问题代理的意思是,proxy代表自己的行为去访问服务器,被...

2019-07-04 14:51:21 82

原创 Zuul网关

引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dep...

2019-06-08 22:16:33 656

原创 Feign

Feign的作用把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。使用包装的几个关键要素请求方法请求参数请求路径返回结果类型服务名称引入依赖<dependency> <groupId>org.springframework.cloud</...

2019-06-06 22:11:27 105

原创 Hystrix降级与熔断

Hystrix即熔断器,一种保护机制

2019-05-21 00:26:25 1427 1

原创 Springboot之简单调用的问题及Eureka注册中心与Robbin负载均衡

restTemplate存在问题?在consumer中,我们把url地址硬编码到了代码中,不方便后期维护consumer需要记忆user-service的地址,如果出现变更,可能得不到通知,地址将失效consumer不清楚user-service的状态,服务宕机也不知道user-service只有1台服务,不具备高可用性即便user-service形成集群,consumer还需自己实现...

2019-05-19 16:28:48 771

原创 SpringCloud远程调用方式及restTemplate简单使用

远程调用方式RPCRemote Produce Call基于TCP原生通信层传输,三次握手建立连接,四次挥手断开连接常见的dubbo框架Httphttp其实是一种网络传输协议,基于TCP,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用Http协议。也可以用来进行远程服务调用。缺点是消息封装臃肿。现在热门的Rest风格,就可以通过http协议来实现。灵活与语言无关。常...

2019-05-16 22:50:50 2372

空空如也

空空如也

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

TA关注的人

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