springboot
文章平均质量分 82
Java旅途
这个作者很懒,什么都没留下…
展开
-
分布式session的几种解决方案,你中意哪种?
我发现了一个商城,我还没有登录,就可以往购物车中添加商品,加了好几件后,我准备付款,需要我先去登录,登录完之后付款。现在很多商城,都会要求用户先去登录,登录之后再往购物车中添加商品,这样用户、购物车、商品,三个对象之间就有了绑定关系。而针对我最开始说的那种情况,其实就是基于session做的,客户端往购物车中添加第一个商品的时候,发送一个请求,服务到收到请求之后,创建session,然后返回当前session对应的一个JessionId,浏览器存储在cookie中,客户端往购物车添加第二个商品时,携带J原创 2021-05-24 09:42:44 · 474 阅读 · 0 评论 -
手撸了一个starter,同事直夸我666~
Spring Boot starter原理Spring Boot 将常见的开发功能,分成了一个个的starter,这样我们开发功能的时候只需要引入对应的starter,而不需要去引入一堆依赖了!starter可以理解为一个依赖组,其主要功能就是完成引入依赖和初始化配置。Spring 官方提供的starter 命名规范为 spring-boot-starter-xxx ,第三方提供的starter命名规范为 xxx-spring-boot-starter 。这里我们以 RocketMQ 的依赖 rocke原创 2021-05-08 09:24:57 · 483 阅读 · 0 评论 -
为什么你写的拦截器注入不了 Java bean?
网上关于拦截器的代码基本都是通过new一个拦截器进行配置的,这时候就会出现无法注入其他bean的情况。很多人想当然地直接在拦截器加@Component注解使其成为一个bean对象。这是一种错误的做法。原创 2020-11-23 08:57:10 · 890 阅读 · 2 评论 -
如何设计一个牛逼的API接口
在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的业务接口应当如何设计?我们应该考虑哪些问题?主要从以上三个方面来设计一个安全的API接口。一 安全性问题安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏。1.1 调用接口的先决条件-token获取token一般会涉及到几个参原创 2020-10-16 20:35:59 · 1763 阅读 · 0 评论 -
你不是说你会Aop吗?
一大早,小王就急匆匆的跑过来找我,说:周哥,那个记录日志的功能我想请教一下。因为公司某个项目要跟别的平台做对接,我们这边需要给他们提供一套接口。昨天,我就将记录接口日志的工作安排给了小王。下面是我跟小王的主要对话。我:说说怎么了?小王:我将记录接口日志的功能放到了每个controller中,现在感觉有点繁琐,我这样做是不是不太合适?我:为什么要去每个接口里记录日志?小王:最开始我是用的拦截器,但是这样一个请求就记录了两条记录。我:为什么是两条?小王:在preHandle中记录一条请求数据,在原创 2020-08-04 09:09:36 · 157 阅读 · 0 评论 -
Spring Boot读取配置文件的几种方式
Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。这三种注解可以配合着@PropertySource来使用,@PropertySource主要是用来指定具体的配置文件。@PropertySource解析@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Repeatable(PropertySource原创 2020-07-07 18:38:00 · 7390 阅读 · 0 评论 -
jfinal-weixin是如何支持多公众号配置的
spring-boot-starter-weixin是jfinal-weixin的spring boot版本,以前一直在用jfinal-weixin做为开发工具包,也一直没有尝试过支持多公众号,最近正好有需求要求支持多公众号,就来研究一番它是如何支持多公众号的。找到源码,打开后发现有个拦截器,我们看看拦截器做了什么。微信后台如何配置来支持多公众号在preHandle中有比较重要的几行代码,我们拿出来单独分析一下。String appId = request.getParameter(weixinP原创 2020-07-02 11:26:35 · 446 阅读 · 0 评论 -
使用aop加解密http接口
背景最近在写一个小程序接口,由于安全性比较高,因此需要给请求参数和响应进行加密处理。如果在每个方法上都加密解密,那样代码就显得太繁琐了而且工作量会加大。所以,我们会统一进行加解密处理,一种比较传统的方式就是通过拦截器进行拦截处理。在这里我们选择通过使用spring的aop来实现。处理方案1.比较spring的五种通知后。很容易发现,环绕通知可以解决我们的问题,环绕通知有哪些特点呢?环绕通...原创 2019-12-05 17:36:41 · 1433 阅读 · 0 评论 -
spring boot 2.x文件路径映射问题汇总
当我们在运行可执行的java jar包的时候,我们肯定改变不了jar里面的内容,因此文件上传路径就成了我们必须考虑的一点问题,我们不能往直接这个jar包里面写文件,那么只能写在jar包外面,但是写到jar包外面的时候要怎么通过内置的tomcat下载文件呢?springboot给我们提供了一种方式,可以将jar包外部路径映射到jar里面。接下来我们看看如何实现。1、springboot2.0以前:我...原创 2019-10-24 16:04:10 · 1483 阅读 · 1 评论 -
SpringBoot Controller接收参数的几种常用方式
第一类:请求路径参数1. @PathVariable获取路径参数。即url/{id}这种形式。2. @RequestParam获取查询参数。即url?name=这种形式例子GEThttp://localhost:8080/demo/123?name=suki_rong对应的java代码@GetMapping("/demo/{id}")public void demo(@PathVa...转载 2019-10-16 09:18:16 · 1097 阅读 · 0 评论 -
如何优雅的使用springboot项目内置tomcat
问题:以前,我们在使用SSM框架的时候,都是通过外置的tomcat进行部署,如果想访问文件,直接拖到项目的根目录下面即可。假如我们需要放一个apk文件,然后让别人下载,只需将apk放到项目根目录下面,浏览器通过http://ip:port/projectName/xx.apk即可下载。现在使用spring boot进行项目开发,由于springboot 内嵌了tomcat,为了方便部署,因此我们大...原创 2019-08-22 14:21:37 · 2988 阅读 · 1 评论 -
springboot本地模拟https请求
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-21 17:16:22 · 2897 阅读 · 0 评论 -
springboot使用logback生成日志文件
我们来讲一下springboot2.x生成日志文件。一、先来看看官网说的需要注意的地方:因此,我们先来建一个logback-spring.xml。二、官网中给的logback-spring.xml的demo三、看看源码具体要应该怎么配置?根据demo可以看到里面引了一个base.xml,里面包含一个defaults.xml,一个console-appender.xml,file-app...原创 2019-06-21 15:11:37 · 4676 阅读 · 1 评论 -
springboot2.x数据库连接懒加载
记录一个问题:前段时间使用sqlyog连接不上数据库服务器了,但是项目却可以正常启动,并且访问接口的时候可以接收到异常信息。一直以为是连接数据库的时候将我本地的ip进行转换了,所以项目能正常启动。但是后来发现并不是。项目环境:springboot2.0.2.RELEASE,默认数据库连接池HikariCP,数据库mysql8。启动没问题,并且访问接口可以接收到自定义的异常信息。更换环境:spr...原创 2019-06-18 13:54:22 · 4600 阅读 · 7 评论 -
http接口通过io流接收数据
先说一下问题,前几天由于工作需要,我这边需要提供几个接口用来接收厂家的数据推送。这没什么难的,写接口无非就是写几个controller来接收参数就可以了。我们先来看看接口文档,他们提供的参数格式如下,数据以作处理只保留格式。{ "time": 1515294211, "type": "1", "code": "111111", "dt": "1", "data": { "p": 4...原创 2019-06-18 13:55:13 · 6283 阅读 · 0 评论 -
springboot利用aop记录日志和处理声明式事务
aop在日常开发中最常见的两种使用场景是:1.记录日志,2.声明式事务处理。由于近年来springcloud的火热,springboot成为了首选的开发框架。相比spring,springboot最大的特点就是省略了大量的配置文件,让开发变得更加简单高效。一、首先我们先谈谈aop在springboot中如何进行记录日志。代码如下@Aspect@Component@Slf4jpublic ...原创 2019-05-09 16:27:23 · 1045 阅读 · 0 评论 -
springboot war包运行
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhoucheng05_13/article/details/77915294 为什么要把SpringBoot打成war包正常情况下SpringBoot项目是以...转载 2018-12-18 09:56:45 · 3588 阅读 · 0 评论 -
springboot入门级学习
颓废良久,最近想尝试点没接触过的技术。springboot简化了传统spring的工作量,可自由结合第三方框架。实用性极强。本工程采用maven工程,springboot、mybatis、mysql、thymeleaf模板。1、目录结构:2、pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http:/...原创 2018-07-04 18:35:28 · 183 阅读 · 1 评论