- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 SpringBoot - CORS跨域支持
CORS (Cross-Origin Resource Sharing)是由W3C制定的一种跨域资源共享技术标准,其目的就是为了解决前端的跨域请求。最常见的前端跨域请求解决方案是JSONP,但 是JSONP只支持 GET 请求,这是一个很大的缺陷,而CORS则支持多种HTTP请求方法。一、CORS跨域请求过程1、GET、POST和HEAD请求以get为例,浏览器发送请求时,请求头Reques...
2020-03-30 01:11:48 201 3
原创 SpringMVC - @ControllerAdvice三种使用场景
@ControllerAdvice就是@Controller的增强版。@ControllerAdvice主要用来处理全局数据, 一般搭配@ExceptionHandler、@ModelAttribute以及@InitBinder 使用。一、全局异常处理@ControllerAdvice可以配合@ ExceptionHandler对所有@Controller标注的方法进行异常捕获和处理。@Co...
2020-03-29 23:03:42 580
原创 SpringBoot - Jackson、Gson、fastJson返回JSON数据
一、Jacksonspring-boot-starter-web中默认加入了jackson-databind作为JSON处理器。在jackson中,对要忽略的属性上加@JsonIgnore即可,而对于时间进行格式化,则需要在需要格式化的属性上面加上@JsonFormat注解,并指定格式。1、创建POJO类@Datapublic class Student { /** ID */ ...
2020-03-29 19:56:34 1117
原创 SpringBoot - 整合SpringSecurity
一、引入相关依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version></par...
2020-03-29 15:48:24 724 1
原创 SpringBoot - 整合Shiro
一、引入相关依赖后面两个依赖可以不引入,还没有使用过Redis来做Shiro的缓存。后续如果有用到,可能会更新到博文。<!-- Shiro --><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId>...
2020-03-26 11:48:57 319
原创 SpringBoot - 异步任务、定时任务(Scheduled和Quartz)、邮件任务
异步任务在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。注解使用在SpringBoot里,需要给启动类添加@EnableAsync来开启异步注解。使用@Async异步注解:@Servicepu...
2020-03-23 10:48:08 1233
原创 SpringDataElasticSearch - NativeSearchQueryBuilder过滤聚合高亮查询
本文要实现的一个功能,根据品牌、分类、规格、价格过滤查询商品的功能,并对查询结果的关键字进行高亮显示。只做后端功能。本文是以代码驱动,如果看不太懂,可以先复制代码,再慢慢看,注释很详细。1、引入相关依赖主要就是fastjson和spring-boot-starter-data-elasticsearch(SpringBoot项目),fastJson的作用是转换对象使用,当然也可以进行时间格...
2020-03-22 12:28:05 27439 2
原创 SpringBoot - 整合ElasticSearch及基本使用
整合ElasticSearch一、引入依赖及配置1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependenc...
2020-03-22 11:13:22 397
原创 Elasticsearch-head插件安装
一、下载插件GitHub下载地址:Elaticsearch-head二、解压将Elaticsearch-head解压三、确保安装了Node环境如果没有安装node.js,先安装node.js。下载地址:node中文网、node官网打开cmd,输入命令node -v查看node版本号,确保安装成功四、安装Node之后,需要安装grunt使用npm命令,经常会卡主,原因是国内的网络连...
2020-03-20 01:14:53 98
原创 SpringBoot - RabbitMQ从零到整合使用
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。整合RabbitMq一、引入依赖以及配置1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...
2020-03-19 16:57:11 458 1
原创 SpringBoot - 整合Redis缓存cache及键值序列化
前面的SpringCache缓存说过在没有引入其他缓存中间件时,默认使用的是ConcurrentMapCacheManager=ConcurrentMapCache,是将数据保存在ConcurrentMap<Object, Object>中。在实际开发中,我们一般都会使用redis、memcached、ehcache来作为缓存中间件。整合RedisRedis是一个开源(BSD许可...
2020-03-19 11:06:41 2320 1
原创 SpringBoot - SpringCache缓存
一、概述SpringCache本身是一个缓存体系的抽象实现,并没有具体的缓存能力,要使用SpringCache还需要配合具体的缓存实现来完成。虽然如此,但是SpringCache是所有Spring支持的缓存结构的基础,而且所有的缓存的使用最后都要归结于SpringCache。二、缓存注解SpringCache缓存功能的实现是依靠下面的这几个注解完成的。@EnableCaching:开启...
2020-03-18 19:58:07 385
原创 RedisTemplate - 常用集合之bound...Ops系列
一、boundValueOps简单的Key-Value操作。1、BoundValueOperationsBoundValueOperations就是一个绑定key的对象,我们可以通过这个对象来进行与key相关的操作。BoundValueOperations boundValueOps = redisTemplate.boundValueOps("lcy");2、set(V value)...
2020-03-18 01:05:13 18678 7
原创 RedisTemplate - 常用集合之opsFor系列
一、opsForValue简单的Key-Value操作1、set(K key, V value)该方法是向Redis新增一个key-value,由方法参数可知k-v可以是泛型,也就是说我们k-v不一定要是传统的String-String,还可以是Object-Object。redisTemplate.opsForValue().set("lcy",'lcy');User user1 = ...
2020-03-17 21:18:12 5172 4
原创 Thymeleaf - 使用方法及国际化(超详细)
Thymeleaf简介Thymeleaf是一个和Velocity、FreeMarker 类似的模板引擎,它在有网络和无网络的环境下皆可运行。因为它支持html原型,在html的标签里增加了额外的属性来达到模板+数据的展示方式。浏览器解释html时会忽略未定义的标签属性,所以thymeleaf的模板可以静态地运行。当有数据返回到页面时,Thymeleaf标签会动态地替换掉静态内容,使页面动态显示。...
2020-03-17 10:43:49 13806 8
原创 Tomcat - Windows下部署War包项目
Maven打包一、先clean一下,再package二、在项目的target目录下可以看到war包部署到Windows下的Tomcat一、将打好的war包放在tomcat的webapps目录下二、进入tomcat的bin目录下启动tomcatstartup.bat启动完成即可访问项目,通常访问路径如下// ip地址:默认端口8080/war包名,如127...
2020-03-16 17:30:10 2351 1
原创 MySQL8.0安装 - 基于Zip压缩包的Windows下安装
记录安装过程及环境配置,是为了方便以后可能忘了怎么安装,又懒得去百度的情况。所以这里记下了安装过程及环境变量配置过程。一、准备工作去官网,下载8.0的zip压缩包https://www.mysql.com/downloads/二、安装1、先将压缩包解压,然后进入安装目录下,如2、压缩包安装的,是没有配置文件的,所以需要创建my.ini配置文件3、打开my.ini...
2020-03-16 13:29:59 139
原创 微信支付申请及简单使用
申请微信支付一、微信支付首先需要先去申请资格,申请条件及步骤如下:1、注册公众号(服务号-企业才能注册),可以根据营业执照类型选择:个体商户 | 企业/公司 | 政府 | 媒体 | 其他类型。2、认证公众号(认证费:300元/年)3、提交资料申请微信支付(审核时间为1-5个工作日内)。4、开户成功,登录商户平台进行验证。资料审核通过后,请登录联系人邮箱查收商户号和密码...
2020-03-01 17:25:15 1541
原创 秒杀系统 - 简单理论实现
多线程下单秒杀中,操作一般都是比较复杂的,而且并发量特别高,比如,检查当前账号操作是否已经秒杀过该商品,检 查该账号是否存在存在刷单行为,记录用户操作日志等。一般采用多线程下单,但多线程中我们又需要保证用户抢单的公平性,也就是先抢先下单。我们可以这样实现,用户进入秒杀抢单,如果用户符合抢单资格,只需要记录用户抢单数据,存入Redis队列,多线程从队列中进 行消费即可,存入队列采用左压,多线...
2020-03-01 00:17:13 725
Redis安装压缩包
2020-01-29
Solr相关压缩包.zip
2020-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人