自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java.lang.NoSuchMethodError: org.springframework.data.redis.core.StringRedisTemplate.delete redis删报错

java.lang.NoSuchMethodError: org.springframework.data.redis.core.StringRedisTemplate.delete(Ljava/lang/Object;)Vspringboot 2.0.0以上已经有独立的redis的包可以用了不需要 <dependency> <groupId>redis.clients</groupId> <artifac

2020-05-26 23:10:34 3299 2

原创 分布式事务 Spring Task的运用

1 分布式介绍1、什么是分布式系统?部署在不同结点上的系统通过网络交互来完成协同工作的系统。比如:充值加积分的业务,用户在充值系统向自己的账户充钱,在积分系统中自己积分相应的增加。充值系统和积分系统是两个不同的系统,一次充值加积分的业务就需要这两个系统协同工作来完成。2、什么是事务?事务是指由一组操作组成的一个工作单元,这个工作单元具有原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。原子性:执行单元中的操作要么

2020-05-22 14:49:04 1592

原创 Spring Security的方法授权 用户授权 Fegin拦截器的使用

1 业务流程方法授权要完成的是资源服务根据jwt令牌完成对方法的授权,具体流程如下:1、生成Jwt令牌时在令牌中写入用户所拥有的权限我们给每个权限起个名字,例如某个用户拥有如下权限:course_find_list:课程查询course_pic_list:课程图片查询2、在资源服务方法上添加注解PreAuthorize,并指定此方法所需要的权限例如下边是课程管理接口方法的授权配置,它就表示要执行这个方法需要拥有course_find_list权限 @PreAuthorize("h

2020-05-21 21:26:13 1343

原创 SpringCloud Zuul 网关 过滤器的使用

1 SpringCloud Zuul网关介绍Spring Cloud Zuul是整合Netflix公司的Zuul开源项目实现的微服务网关,它实现了请求路由、负载均衡、校验过虑等功能。什么是网关?服务网关是在微服务前边设置一道屏障,请求先到服务网关,网关会对请求进行过虑、校验、路由等处理。有了服务网关可以提高微服务的安全性,网关校验请求的合法性,请求不合法将被拦截,拒绝访问。Zuul与Nginx怎么配合使用?Zuul与Nginx在实际项目中需要配合使用,如下图,Nginx的作用是反向代理

2020-05-21 17:05:18 216

原创 JWT令牌的使用

1 JWT的结构JWT令牌由三部分组成,每部分中间使用点(.)分隔,比如:xxxxx.yyyyy.zzzzzHeader 头部包括令牌的类型(即JWT)及使用的哈希算法(如HMAC SHA256或RSA)一个例子如下: 下边是Header部分的内容{"alg":"HS256","typ":"JWT"}将上边的内容使用Base64Url编码,得到一个字符串就是JWT令牌的第一部分。Payload 第二部分是负载,内容也是一个json对象,...

2020-05-21 13:48:13 653

原创 SEO 页面渲染 以及Nuxt.js的运用

1 SEOSEO是网站为了提高自已的网站排名,获得更多的流量,对网站的结构及内容进行调整优化,以便搜索引擎(百度,google等)更好抓取到更优质的网站的内容。从上图可以看到SEO是网站自己为了方便spider抓取网页而作出的网页内容优化,常见的SEO方法比如:1)对url链接的规范化,多用restful风格的url,多用静态资源url;2) 注意title、keywords的设置。3)由于spider对javascript支持不好,对于网页跳转用href标签。1.1 服务端渲染和.

2020-05-20 15:26:14 1221

原创 全文检索ElasticSearch的运用 用Logstash实现搜索业务

1 业务流程1、课程管理服务将数据写到MySQL数据库2、使用Logstash将MySQL数据库中的数据写到ES的索引库。3、用户在前端搜索课程信息,请求到搜索服务。4、搜索服务请求ES搜索课程信息2 创建ElasticSearch索引库Post http://localhost:9200/xc_course/doc/_mapping{ "properties" : { "description" : { "anal.

2020-05-20 14:33:37 355

原创 SpringCloud 的 Eureka 注册中心 Ribbon Feign的介绍及其使用案例

1.1 Eureka介绍 Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装,它实现了服务治理的功能,Spring Cloud Eureka提供服务端与客户端,服务端即是Eureka服务注册中心,客户端完成微服务向Eureka服务的注册与发现。服务端和客户端均采用Java语言编写。下图显示了Eureka Server与Eureka Client的关系:1、Eureka Server是服务端,负责管理各各微服务结点的信息和状态。2 、在微服务...

2020-05-20 11:01:34 432

原创 分布式文件系统、FastDFS实现文件上传,并且搭建FastDFS文件服务器

1 分布式文件系统 采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储,通过多台计算共同传输。如下图:好处:1、一台计算机的文件系统处理能力扩充到多台计算机同时处理。2、一台计算机挂了还有另外副本计算机提供数据。3、每台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度。1.2主流的分布式文件系统1、NFS1)在客户端上映射N...

2020-05-19 22:00:10 984

原创 PageHelper的使用和注意事项

1 PageHelper介绍 PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句,最终实现分页查询功能。原理:在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中PageHelper 在mybatis执行sql前进行拦截,从ThreadLocal取出分页参数,修改当前执行的sql语句,添加分页sql。最后执...

2020-05-19 15:54:48 1355

原创 RabbitMQ的Docker安装和6大工作模式以及在SpringBoot整合

1 介绍MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。应用场景:1、任务异步处理。将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。2、应用程序解耦合MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合优.

2020-05-18 19:10:14 165

原创 RestTemplate的使用和GridFS的使用和页面静态化流程以及实现

1.1页面静态化流程1、获取模型数据2、制作模板3 、对页面进行静态化4、将静态化生成的html页面存放文件系统中5、将存放在文件系统的html文件发布到服务器1.2获取数据模型mongodb数据类型{ "_id" : ObjectId("5a791725dd573c3574ee333f"), "_class" : "com.xuecheng.framework.domain.cms.CmsConfig", "name" : "轮播图", "m...

2020-05-18 15:41:19 359

原创 后端响应是否成功、信息、操作码响应前端及异常处理

异常处理流程1、自定义异常类型。2、自定义错误代码及错误信息。3、对于可预知的异常由程序员在代码中主动抛出,由SpringMVC统一捕获。可预知异常是程序员在代码中手动抛出本系统定义的特定异常类型,由于是程序员抛出的异常,通常异常信息比较齐全,程序员在抛出时会指定错误代码及错误信息,获取异常信息也比较方便。4、对于不可预知的异常(运行时异常)由SpringMVC统一捕获Exception类型的异常。不可预知异常通常是由于系统出现bug、或一些不要抗拒的错误(比如网络中断、服务器宕机等),异.

2020-05-17 21:29:40 2396 1

原创 Spring Data Mongodb的使用

Spring Data Mongodb不需要像Mybatis那样专注于写SQL语句,直接用来调用它的内置查询方法的。导入的包pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>

2020-05-17 16:15:11 245

原创 利用docker-maven-plugin打包java项目并构建镜像报错[ERROR] Failed to execute goal com.spotify:docker-maven-plugin

[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project xc-govern-center: Exception caught: 255 -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR...

2020-05-17 13:54:44 3357 1

原创 docker下载fastDFS并且进行配置文件的拉取,修改,上传。

拉取镜像docker image pull delron/fastdfs启动tracker,注意处理好容器卷的挂载位置,我放在/zzyyuse/fdfs/trackerdocker run -dti --network=host --name tracker -v /zzyyuse/fdfs/tracker:/var/fdfs delron/fastdfs tracker启动...

2020-04-27 14:12:25 1246

原创 Anaconda的tensorflow2.0.0突然出现ERROR:root:Internal Python error in the inspect module.

就是numpy版本的问题,直接卸载numpy版本。pip uninstall numpy如果卸载的时候报错,把ide关掉比如Jupyter、Pycharm、Spyder再下载最新版本的numpypip install -U numpy...

2020-04-22 10:17:54 5114 3

原创 Java中的抽象类和接口的区别

(1)抽象类和接口不能被直接实例化,二者实例化涉及到多态。如果抽象类要实例化或者接口要实现,这个子类必须实现这个抽象类或者接口所有的方法(2)抽象类要被子类继承,接口要被子类实现(3)接口里面只能对方法进行声明,抽象类既可以对方法进行声明,也可以对方法进行实现。(4)抽象类里面的抽象方法必须全部被子类实现,如果子类不能全部实现,那么子类也必须是抽象类。接口里面的方法也必须被子类实现,如...

2020-03-30 19:17:26 145

原创 Spring Security的SpringEL表达式

Spring Security允许我们在定义URL访问或方法访问所应有的权限时使用Spring EL表达式,在定义所需的访问权限时如果对应的表达式返回结果为true则表示拥有对应的权限,反之则无。Spring Security可用表达式对象的基类是SecurityExpressionRoot,其为我们提供了如下在使用Spring EL表达式对URL或方法进行权限控制时通用的内置表达式。表...

2020-03-25 18:43:34 568

原创 SpringMVC拦截器用法(验证用户是否登录)

这是controller类的方法@RequestMapping("/login") public String login(Model model)throws Exception{ return "login"; } //登陆提交 //userid:用户账号,pwd:密码 @RequestMapping("/loginsubmit")public String logi...

2020-03-16 22:14:26 517

原创 Anaconda3安装TensorFlow2.0.0镜像并且配置好Jupyter Notebook

我们安装TensorFlow1.2.1但是后面又要安装Tensorflow2.0.0,那么我们就需要让Tensorflow两个版本在windows电脑下进行共存首先,我们先下载了anacoda3和配置好了清华镜像。我们打开anaconda Prompt,创建镜像conda create -n TF2C python=3.6进入镜像用按y看到命令是activate TF2...

2020-03-11 16:13:31 1194 5

空空如也

空空如也

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

TA关注的人

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