SpringBoot
文章平均质量分 75
林老师带你学编程
www.wolzq.com
展开
-
IDEA上面搭建一个SpringBoot的web-mvc项目
这几天一直在研究IDEA上面怎么搭建一个web-mvc的SpringBoot项目,看网上的教程一步步的搭建,可是还是出现一堆的问题。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~为了让大家以后少走一些弯路,我在这里分享一下我这几天研究的成果,也希望对大家能有所帮助。这里先介绍一下各种环境的配置信息:idea2016.2.1 ...原创 2016-09-19 23:04:45 · 77629 阅读 · 2 评论 -
IDEA上面如何创建SpringBoot项目
首先在file中new一个项目这里我们选择Spring Initializr然后点击next具体选项的含义都在上面标记出来了,填写完点击next这里的选项是一些比较常用的依赖支持,勾选的话就会直接依赖到pom.xml文件中,这里面我们也点击next这里填的是项目的名称和项目本地的存储地址,点击finish就可以了这就是SpringBoot项目的目录结构。我们这边直接运行main方面就可以启动Spr...原创 2018-01-26 21:56:17 · 3456 阅读 · 0 评论 -
利用Nginx负载均衡的访问SpringBoot服务,还有如何利用Nginx实现404,500等错误页面的拦截
今天给大家讲一些如何利用Nginx负载均衡的访问SpringBoot服务,还有如何利用Nginx实现404,500等错误页面的拦截。首先第一步就是下载Nginx软件,Nginx软件不需要任何的配置,直接就可以启动。Nginx命令一般有:重启:nginx -s reload关闭:nginx -s stop启动:start nginx校验文件格式是否正确:nginx –t原创 2017-06-28 18:42:51 · 1504 阅读 · 0 评论 -
Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开...转载 2017-07-17 14:00:45 · 1241 阅读 · 0 评论 -
SpringBoot+SpringSecurity+JWT实RESTfulAPI权限控制
关于什么是jwt(json web token),还有jwt的工作流程我这边就不多介绍,主要给大家介绍一下SpringBoot中如何整合Security然后在添加jwt的支持。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~通过SpringBoot+Security+JWT来实现token校验的过程。在生产环境中,对发布API增加授...原创 2017-10-26 21:23:43 · 45202 阅读 · 16 评论 -
freemarker常见的一些用法(一)
今天给大家介绍一下freemarker基本用法,例如:if、 list、 判断是否为空、获取值等等之类的。在使用之前要先在模板中设置值,这里我使用的是SpringMVC中的设置值方法,下面看下案例: @RequestMapping(value = {"contentupdate"},method = RequestMethod.GET) public String conten原创 2016-11-03 17:42:59 · 2483 阅读 · 0 评论 -
【8大坑】重构springboot踩坑记录手册
今天本来想和大家说一下spring中bean的创建过程和生命周期的,可是因为项目重构过程中遇到好多的问题,卡来卡去,所以想和大家分享一下今天遇到的坑,希望大家可以少踩坑。项目场景:因为maven项目启动太笨重了,每次启动都需要好久的时间,还有项目中很多依赖都是不需要的,可是因为历史遗留问题一直都不能很好解决这个问题,所以这次趁改架构的机会一起优化了。所以将项目app请求层一个服务,业务请求一个服务...原创 2018-07-06 22:06:52 · 1581 阅读 · 0 评论 -
Springboot中集成ElasticSearch
昨天给大家介绍了一下ElasticSearch代码结构设计,今天给大家介绍一下ElasticSearch怎么集成到Spring boot中,不知道大家记不记得以前我也写过它们的整合,但今天要说的模式和以前的不一样(具体区别大家可以对照的看看,这边就不详细介绍了)。1.我们首先引入ElasticSearch的相关依赖,pom文件的依赖如下所示:<!-- elasticsearch ...原创 2018-07-25 21:40:43 · 3064 阅读 · 0 评论 -
【坑】Springboot+Redis序列化坑
今天在测试springboot整合redis的时候遇到下面这个坑,百度来百度去发现提示都是ajax的问题,真的是醉了,错误提示如下所示,不信大家可以直接复制百度一下答案是什么(流泪中。。。。),错误如下:org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unrecogni...原创 2018-07-25 21:45:06 · 11245 阅读 · 1 评论 -
Springboot dubbo @Service @Transactional 无法提供服务或者无法提供事务的解决办法
问题场景:今天在springboot中集成spring事务的时候,遇到了一个大坑。如果(springboot+dubbo)中添加 @Service、@Transactional 两个注解的时候,就不能进行dubbo服务注册了。解决历程:1,先是在springboot启动类添加注解@EnableTransactionManagement,在对应的服务实现类上添加@Transactiona...原创 2018-07-20 21:06:11 · 10029 阅读 · 9 评论 -
springboot集成Rabbitmq踩坑史
概述:这几天在springboot集成Rabbitmq、Redis、Mongodb、Mybatis、ElasticSearch、Dubbo踩了一堆的坑,今天给大家介绍一下Rabbitmq踩坑史。因为用到Rabbitmq功能比较简单,只是发布订阅和点对点的模式,后期肯定会逐步进行架构升级,会用到Rabbitmq中:发布-订阅模式、点对点模式、顺序消息队列、错误重试、接口等幂性设计、延迟队列。...原创 2018-07-21 16:59:15 · 7228 阅读 · 0 评论 -
【SpringBoot系列】配置多环境配置文件
以前没有自己搭架构,所以一直很好奇为什么配置文件会分为dev、test、prod三种类型的文件。后面虽然慢慢知道这三种文件的作用,可是因为没有实际配置过,所以对它的重要程度感知还不是很明显。后来自己搭建环境的时候,要本地调试、要上测试环境、要发布到生产等等事情,才发现配置多环境的配置文件是多么重要,首先我们先来聊聊这样做,在实际开发中有哪些具体的作用。一、环境介绍1.dev环境在平时开...原创 2018-08-09 17:36:48 · 7235 阅读 · 0 评论 -
【SpringBoot系列】如何解决Dubbo中生产者未启动,消费者启动报错
今天遇到一个巨坑的问题,就是这个问题导致测试环境的服务都出现500错误。不知道大家有没有遇到过,服务消费者先启动,服务提供者后启动,导致消费者中@Reference实例化的对象都是null的。这也是为什么将代码部署到测试环境所有接口都报500错误的原因,到目前为止还是有点不清楚原因,为什么web项目就可以,SpringBoot项目就不行。后面因为项目时间原因也没有深究原因,就这么不了了之了,目前猜...原创 2018-08-12 22:34:57 · 8522 阅读 · 1 评论 -
【SpringBoot系列】终结篇
SpringBoot系列就告一段落了,因为又要开始一个全新的项目(商城项目),所以最近很长一段时间都没办法给大家原创文章了,但是商城项目开发完毕后,我会一一给大家介绍的之前因为在优化架构,所以一直在介绍SpringBoot系列相关的内容,今天也到了一个尾声了,下面我会将往期系类的文章贴出来,整理一个系类出来,大家可以回顾回顾。推荐阅读【SpringBoot系列】手把手教你集成Rabbi...原创 2018-08-15 22:29:52 · 781 阅读 · 0 评论 -
【SpringBoot系列】static修饰的字段如何获取application.yml配置
今天给大家介绍一下SpringBoot的application.yml一种特殊的应用场景,一般我们获取application.yml的配置文件只要@Value就可以获取到值了,但是如果是static修饰的字段肯定就不能用这种方法了。比如下面这个例子,由static修饰的字段,上面加上@Value明显是获取不到值的。那基于这种情况下我们该怎么办呢,有些童鞋会说,我们直接用非静态的不就行了。如...原创 2018-08-08 22:17:14 · 11630 阅读 · 4 评论 -
Spring-boot 配置Aop获取controller里的request中的参数以及其返回值
首先在你的Maven的pom文件里加入aop的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>...转载 2019-04-26 16:48:55 · 3162 阅读 · 0 评论 -
Mybatis中自定义实例化SqlSessionFactoryBean
现在SpringBoot基本成为开发的标配,如果你上司让你搭建一个SpringBoot,然后集成Mybatis+Druid,你可以能百度几下,卡卡就搭建完毕了。现在项目基本都会使用连接池技术,市面上的连接池有很多,比如:DBCP、c3p0、Druid等,今天我们重点介绍Druid连接池。application.yml配置文件如下所示:spring: #数据库配置 data...原创 2019-07-22 21:37:03 · 8513 阅读 · 0 评论 -
SpringBoot中使用redis事务
首先从使用springboot+redis碰到的一个问题说起。在前几篇文章中介绍了用SpringBoot+redis构建了一个个人博客。在刚开始远行的时候发现发了几个请求操作了几次redis之后,后面的就被阻塞了,请求一直在等待返回,我们重现一下问题。[注意] 该问题只会出现在springboot 2.0之前的版本;2.0之后springboot连接Redis改成了lettuce,并重新实现,...转载 2019-09-04 20:54:47 · 3019 阅读 · 1 评论 -
SpringBoot整合Mybatis实现增删改查的功能
SpringBoot框架作为现在主流框架之一,好多框架都渐渐的移植到SpringBoot中来。前面我给大家介绍过redis,jpa等等的的整合,今天在这里给大家介绍一下Mybatis的整合过程。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~SpringBoot+Mybatis一般有两种形式。一种是采用原生的xml模式,还有一种就是...原创 2017-10-22 16:20:46 · 33150 阅读 · 3 评论 -
logback 常用配置详解(二) <appender>
logback 常用配置详解(二) :是的子节点,是负责写日志的组件。有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 1.ConsoleAppender:把日志添加到控制台,有以下子节点::对日志进行格式化。(具体参数稍后讲解 ):字符串 System转载 2017-11-30 22:22:56 · 537 阅读 · 0 评论 -
Spring Boot中的事务管理
什么是事务?我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。事...转载 2016-09-23 14:41:34 · 8576 阅读 · 3 评论 -
SpringBoot JPA实现增删改查、分页、排序、事务操作等功能
今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查、分页、排序、事务操作等功能。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and 关键字,比如 findByHeightAndSex(int hei...原创 2016-09-23 16:38:50 · 70535 阅读 · 8 评论 -
SpringBoot中实现依赖注入功能
今天给大家介绍一下SpringBoot中是如何实现依赖注入的功能。在以往Spring使用中,依赖注入一般都是通过在Spring的配置文件中添加bean方法实现的,相对于这个方式SpringBoot的实现方式就显得非常便捷了。SpringBoot的实现方式基本都是通过注解实现的。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~下面...原创 2016-09-23 17:02:03 · 32514 阅读 · 9 评论 -
SpringBoot中实现拦截器, 并实现对404和500等错误的拦截。
今天给大家介绍一下SpringBoot中拦截器的用法,相比Struts2中的拦截器,SpringBoot的拦截器就显得更加方便简单了。只需要写几个实现类就可以轻轻松松实现拦截器的功能了,而且不需要配置任何多余的信息,对程序员来说简直是一种福利啊。废话不多说,下面开始介绍拦截器的实现过程:想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负...原创 2016-09-20 22:16:53 · 39897 阅读 · 2 评论 -
利用IDEA将SpringBoot的项目打包成war文件
今天给大家解释一下,如何利用IDEA将SpringBoot的项目打包成war文件。关于为什么要打包成war文件,我这里就不多介绍了,大家有兴趣的可以自己去Google一下。下面就给出具体的操作步骤:步骤一:修改pox.xml文件1.首先将<packaging>jar</packaging>修改为<packaging>war</packaging>...原创 2016-09-20 22:40:41 · 25876 阅读 · 4 评论 -
SpringBoot中连接MYSQL数据库,并使用JPA进行数据库的相关操作
今天给大家介绍一下如何SpringBoot中连接Mysql数据库,并使用JPA进行数据库的相关操作。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~步骤一:在pom.xml文件中添加MYSQl和JPA的相关Jar包依赖,具体添加位置在dependencies中,具体添加的内容如下所示。 <!--数据库相关配置-->...原创 2016-09-21 16:52:50 · 32448 阅读 · 10 评论 -
SpringBoot中自定义注解实现控制器访问次数限制
今天给大家介绍一下SpringBoot中如何自定义注解实现控制器访问次数限制。在Web中最经常发生的就是利用恶性URL访问刷爆服务器之类的攻击,今天我就给大家介绍一下如何利用自定义注解实现这类攻击的防御操作。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~其实这类问题一般的解决思路就是:在控制器中加入自定义注解实现访问次数限制的...原创 2016-09-26 16:39:04 · 17084 阅读 · 12 评论 -
SpringBoot中实现拦截器级别的URl访问过快拦截,并利用JPA实现IP黑名单的功能。
今天给大家介绍一下SpringBoot中实现拦截器级别URl过快访问拦截,并利用JPA实现IP黑名单的功能。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~上一节中已经将中已经介绍了在控制器层面上面的URL拦截,这一节则侧重于网站全局式的拦截。就是不管输入什么URL地址都会进行过滤,判断是否存在URL访问过快的情况发生。因为本文会用...原创 2016-09-26 17:15:20 · 22369 阅读 · 2 评论 -
SpringBoot JPA 表关联查询
今天给大家介绍一下如何利用JPA实现表关联查询。今天给大家举一个一对多的关联查询,并且是使用JPA原生的findBy语句实现的。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~例子中总共有两个实体类,一个是Floor(商品楼层类),另一个是FloorContent(商品楼层内容表)。下面看两张表的源代码:Floor类:...原创 2016-11-03 16:42:28 · 53956 阅读 · 7 评论 -
今天给大家介绍一下SpringBoot框架中URL参数如何进行Base64加密解密
今天给大家介绍一下SpringBoot框架中URL参数如何进行Base64加密解密想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~首先给大家介绍一下Java中的Base64加密,其实Base64不是真正的加密,只是对字符串进行编码解码而已。主要作用是不让人一眼就可以看出字符串是什么值,有什么作用。Java实现Base64有...原创 2016-09-27 21:42:11 · 26289 阅读 · 1 评论 -
SpringBoot中搭建Redis缓存功能
今天给大家介绍一下SpringBoot中如何搭建Redis缓存功能因为我的Redis是搭建在windows系统上面的,所以首先给大家介绍一下如何在windows上面搭建Redis缓存数据库。步骤一:首先下载Redis缓存数据库,大家可以去官网上面下或者也可以在我这里下载:点击打开链接步骤二:下载后就可以直接启动Redis服务,不需要安装或者配置。案例如下图所示:如果原创 2016-09-29 22:03:06 · 2849 阅读 · 0 评论 -
SpringBoot中Redis的set、map、list、value、实体类等基本操作介绍
今天给大家介绍一下SpringBoot中Redis的set、map、list、value等基本操作的具体使用方法想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~上一节中给大家介绍了如何在SpringBoot中搭建Redis缓存数据库,这一节就针对于Redis的具体操作进行介绍。关于Redis的历史,以及目前的普及程度大家应该都比...原创 2016-09-30 16:34:02 · 39400 阅读 · 7 评论 -
SpringBoot中实现邮件找回密码的功能
今天给大家介绍一下很常用的一个功能,就是邮件找回密码功能。找回密码一般会有:1.邮件找回密码、2短信找回密码、3问题找会密码。关于邮件找回密码的原理思想为:1.用户申请找回密码功能,服务器将会发送一个url地址到用户注册的邮箱中去。2.用户打开邮箱点击url地址跳转到相应的网页中修改密码。3.修改完密码就可以重新登录了。这些过程中最重要的就是url地址安全的问题了,如何才能保证url地址不会被篡改...原创 2016-10-19 21:43:00 · 9244 阅读 · 8 评论 -
spring data jpa使用详解
使用Spring data JPA开发已经有一段时间了,这期间学习了一些东西,也遇到了一些问题,在这里和大家分享一下。前言:Spring data简介:Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data 包含多个子项目:Common转载 2016-08-26 10:54:18 · 9141 阅读 · 2 评论 -
构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目
今天给大家介绍一下如何在SpringBoot中搭建Dubbo+Zookeeper来实现不同系统的RPC调用想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~这里先和大家说一下什么是RPC框架,简单的来说就是远程接口调用框架。像这类的框架有很多,例如:新浪研发的Motan,还有阿里研发的Dubbo等等之类的。如果大家想要了解更多可以看这...原创 2017-06-29 17:48:03 · 15949 阅读 · 5 评论 -
如何用SpringBoot框架来接收multipart/form-data文件
今天遇到一个坑,这里给大家介绍一下。想学习分布式、微服务、JVM、多线程、架构、java、python的童鞋,千万不要扫码,否则后果自负~现在很多文件上传类型都是multipart/form-data类型的,HTTP请求如下所示:可是问题就在于如果用传统的Struts2或者servlet等都可以很容易的实现文件接收的功能,例如下面的代码就可以实现:boolea...原创 2017-08-09 21:27:04 · 108631 阅读 · 16 评论 -
logback 配置详解(一)
一:根节点包含的属性: scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部日志信转载 2017-11-30 22:20:33 · 1572 阅读 · 0 评论 -
超大csv解析攻略
前段时间遇到这样一个需求,解析csv文件数据,将数据封装批量插入数据库中。咋一看确实没什么问题,但是看到文件大小的时候,差点没吐一口老血,文件大小2.1g!!!如果用传统的方式直接将csv文件流按行解析,然后封装成po对象,结果很明显,优雅的OOM掉了。所以为了能够成功解析这个超大文件,博主查阅了大量的博客,终于攻克这个问题了。因为这个坑相对比较大,所以这边给大家分享一下,博主的心路历程,...原创 2019-09-15 21:35:32 · 1646 阅读 · 0 评论