SpringBoot学习历程
自己学习SpringBoot的踩坑过程
大老杨
多读书,多看报,少吃零食多睡觉。
展开
-
SpringBoot使用token简单鉴权
本文使用SpringBoot结合Redis进行简单的token鉴权。1.简介刚刚换了公司,所以最近有些忙碌,所以一直没有什么产出,最近朋友问我登录相关的,所以这里先写一篇简单使用token鉴权的文章,后续会补充一些高阶的,所以如果感觉这篇文章简单,可以直接绕行,言归正传,现在一般系统都进行了前后端分离,为了保证一定的安全性,现在很流行使用token来进行会话的验证,一般流程如下:用户...原创 2019-11-02 17:29:37 · 2292 阅读 · 0 评论 -
SpringBoot使用JdbcTemplate
前言 本文是对SpringBoot使用JdbcTemplate操作数据库的一个介绍,,提供一个小的Demo供大家参考。操作数据库的方式有很多,本文介绍使用SpringBoot结合JdbcTemplate。新建项目新建一个项目。pom文件中加入Jdbc依赖,完整pom如下:<?xml version="1.0" encoding="UTF-8"?>&l...原创 2018-07-25 18:05:05 · 4713 阅读 · 0 评论 -
SpringBoot2使用WebFlux函数式编程
本文只是简单使用SpringBoot2使用WebFlux的函数式编程简单使用,后续会继续写关于Webflux相关的文章。最近一直在研究WebFlux,后续会陆续出一些相关的文章。首先看一下Srping官网上的一张图,对比一下SpringMvc和Spring WebFlux,如图:在查看一下WebFlux的官方文档:https://docs.spring.io/spring/...原创 2018-07-31 11:58:22 · 6902 阅读 · 1 评论 -
SpringBoot应用War包形式部署到外部Tomcat
这一篇文章介绍SpringBoot应用修改默认打jar形式部署为打war包形式,部署到外部Tomcat。SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,接下来给大家介绍一下SpringBoot项目打War包形式部署到外部Tomcat。修改原有项目1.修改项目打开项目,修改pom文件: 1.项目中加入spring-boot-starter...原创 2018-08-01 18:03:14 · 413 阅读 · 1 评论 -
使用SpringSecurity
前几天写了一个SpringBoot对拦截器的使用,在实际项目中,对一些情况需要做一些安全验证,比如在没有登录的情况下访问特定的页面应该解释的拦截处理。这一篇介绍使用SpringSecurity来做简单的安全控制,由于SpringSecurity比较复杂,如果有不对的地方可以大家一起学习。新建项目,前端页面使用thymeleaf,加入security依赖,pom文件如下:<?xml...原创 2018-04-29 17:36:39 · 864 阅读 · 0 评论 -
SpringBoot启动banner更改
这篇文章的开始先给大家看一个图片用过或者看过springboot的人都知道,这就是springboot启动的banner,这一篇介绍如何自定义springboot的启动bannner。先介绍一个可以制作自定义banner的网站,传送门:http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Some...原创 2018-04-30 21:20:48 · 1602 阅读 · 0 评论 -
SpringBoot使用validator校验
在前台表单验证的时候,通常会校验一些数据的可行性,比如是否为空,长度,身份证,邮箱等等,那么这样是否是安全的呢,答案是否定的。因为也可以通过模拟前台请求等工具来直接提交到后台,比如postman这样的工具,那么遇到这样的问题怎么办呢,我们可以在后台也做相应的校验。新建项目,因为本文会使用postman模拟前端请求,所以本文需要加入web依赖,pom文件如下:<?xml versi...原创 2018-05-01 21:52:20 · 4225 阅读 · 0 评论 -
使用shiro安全管理
之前介绍了springboot使用security进行权限管理,这篇文件介绍一下springboot使用shiro进行安全管理。简述本文的场景,本文使用springboot1.5.9+mysql+jpa+thymeleaf+shiro制作一个简单的验证,其中有2个角色,分别是admin和user,admin可以使用select和delete功能,user只能使用select功能。新建项目,...原创 2018-05-02 17:10:16 · 1341 阅读 · 0 评论 -
SpringBoot整合elasticsearch
在这一篇文章开始之前,你需要先安装一个ElasticSearch,如果你是mac或者linux可以参考https://www.jianshu.com/p/e47b451375ea,如果是windows可以自定百度一下。下面是官方套话介绍elasticsearch:**ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful...原创 2018-05-04 15:47:43 · 6897 阅读 · 3 评论 -
SpringBoot整合mongoDB
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。这一片文章介绍一个springboot整合mongodb,如果你了解整合mysql之类的数据库,可以一带而过。还是同样的套路,pom文件中加入mongodb依赖,完整pom文件如下:<?xml version="1.0" encoding="UTF-8"?>&...原创 2018-05-05 15:28:43 · 6741 阅读 · 0 评论 -
SpringBoot使用LomBok
Lombok是什么?它是一个能帮我们消除那些必须要写但是重复的代码,比如setter,getter,构造函数之类的方法。首先先简单说一下idea安装lombok,有2种方法: 1.直接从http://plugins.jetbrains.com/下载,然后放到idea安装文件下面的plugins,然后重启idea 2.在idea的settings(windows)或者Preferences(...原创 2018-05-07 18:24:15 · 1244 阅读 · 0 评论 -
docker部署springboot项目
本文介绍一下docker如何部署springboot项目。前提条件:1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfile文件准备Dockerfile前三条都很容准备,创建一个Dockerfile:FROM java:8 VOLUME /tmp ADD dalaoyang_mgr.jar...原创 2018-05-24 11:15:17 · 38064 阅读 · 0 评论 -
SpringBoot使用事务
事务是很多项目中需要注意的东西,有些场景如果没有加事务控制就会导致一些脏数据进入数据库,本文简单介绍SpringBoot怎样使用事务。本文使用的是之前整合JPA的文章,具体可以参考 传送门。无论是配置还是pom文件等等,没有任何改变,改变的是测试的controller上面的两个方法,其中一个方法使用了@Transactional注解来进行事务控制。 controller代码如下:...原创 2018-05-28 18:26:15 · 1241 阅读 · 1 评论 -
SpringBoot使用缓存
前言我们都知道,一个程序的瓶颈通常都在数据库,很多场景需要获取相同的数据。比如网站页面数据等,需要一次次的请求数据库,导致大部分时间都浪费在数据库查询和方法调用上,这时就可以利用到缓存来缓解这个问题。简介本文来介绍SpringBoot来简单整合缓存,使用SpringBoot+JPA+mysql来进行数据库操作。整合JPA的文章,具体可以参考 传送门。新建项目创建一个项目...原创 2018-05-29 14:32:51 · 1025 阅读 · 0 评论 -
Intellij IDEA实现SpringBoot项目多端口启动
前言 有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同。这时我们强大的Intellij IDEA就能替我们实现。实现方法第一种方法1.点击图中Edit Configurations,如图2.取消选中的Single instance only3.启动项目,demo(9000),如图。...原创 2018-06-04 10:28:34 · 14266 阅读 · 10 评论 -
SpringBoot整合dubbo
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。以上介绍来源于百度百科,具体dubbo相关可以自行查找资料,本文只是介绍SpringBoot简单整合dubbo。 1.安装zookeeper1.1 去官网下载,本文以3.4.12 版本为例子http://mirrors.hust....原创 2018-06-14 11:26:16 · 1238 阅读 · 0 评论 -
SpringBoot使用Mybatis-PageHelper
前言 之前一篇文章介绍了介绍了《SpringBoot+Mybatis+MySql学习》的整合,这一片扩展一下Mybatis的分页插件-Mybatis-PageHelper。新建项目首先,pom文件中加入pagehelper依赖,完整pom代码如下:&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;原创 2018-06-22 16:38:38 · 14190 阅读 · 0 评论 -
SpringBoot整合Mybatis-Plus
这篇文章介绍一个SpringBoot整合Mybatis-Plus,提供一个小的Demo供大家参考。已经很久没有写文章了,最近家里有点事刚刚处理完,顺便也趁机休息了一段时间。刚回到公司看了一下码云,发现本期码云封面人员就是Mybatis-Plus团队苞米地的负责人,如下图。忽然想到,正好之前别人跟我说过怎么不出一个SpringBoot整合Mybatis-Plus的,已经很久的事了...原创 2018-07-20 15:46:15 · 24272 阅读 · 6 评论 -
SpringBoot学习历程
新年新气象,更新了一下本人所有写的关于SpringBoot的文章目录,感谢大家长期以来的支持,在接下来的日子还会不定期的进行更新。入门使用IntelliJ Idea新建SpringBoot项目SpringBoot启动banner更改SpringBoot定时任务SpringBoot返回json和xmlSpringBoot启动banner更改SpringBoot使用vali...原创 2018-03-11 13:09:33 · 29078 阅读 · 12 评论 -
使用IntelliJ Idea新建SpringBoot项目
简单给大家介绍一下我来创建SpringBoot项目使用的工具,本人使用IntelliJ Idea来创建项目,利用其中的Spring Initializr工具来快速创建项目。步骤如下:菜单栏中选择File--New--Project,出现如下图所示,然后选择Spring Initializr。其中SDK可以根据自己需求选择合适的jdk版本,本人项目均使用的Jdk1.8Service Url 是Spr...原创 2018-03-11 14:02:19 · 66529 阅读 · 1 评论 -
SpringBoot集成FreeMarker
给大家简单介绍一下springboot 集成FreeMarker 过程很简单,5分钟即可。首先在项目中增添依赖spring-boot-starter-freemarker pom文件代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0....原创 2018-03-14 14:34:08 · 1825 阅读 · 0 评论 -
SpringBoot使用WebJars
本人主要做的是java,但是从第一份工作开始,就一直在做一个写前端又写后端的程序员,相信很多朋友和我一样,不仅要会后台代码,还要懂得很多的前端代码,例如javascipt和css样式。本文就为大家简单介绍一下SpringBoot如何结合前端代码。SpringBoot结合前端有很多种方法,比如在static里面直接加入css或js,又或者引入webjars,以jar包的形式加入项目,本文就是...原创 2018-03-22 22:59:37 · 8202 阅读 · 0 评论 -
SpringBoot的国际化使用
在项目中,很多时候需要国际化的支持,这篇文章要介绍一下springboot项目中国际化的使用。在这个项目中前端页面使用的thymeleaf,另外加入了nekohtml去掉html严格校验,如果不了解springboot和thymeleaf的使用,可以去看我的上一篇文章《SpringBoot集成Thymeleaf》。新建一个springboot项目,pom文件代码如下:<?xml ...原创 2018-03-28 11:19:24 · 4477 阅读 · 0 评论 -
SpringBoot使用数据库
这一篇简单介绍一下SpringBoot配置数据库的配置(依赖和application.properties),以下全是以本地数据库为例子,具体用户名密码地址都根据实际去修改。Mysql数据库:pom文件:<dependency> <groupId>mysql</groupId> <artifactId>mysql-co...原创 2018-03-28 15:15:09 · 3241 阅读 · 0 评论 -
SpringBoot+Mybatis+MySql学习
介绍一下SpringBoot整合mybatis,数据库选用的是mysql。首先创建数据库CREATE DATABASE test;建表以及插入初始数据(sql是从navicat中导出的)SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table struct...原创 2018-04-05 13:17:46 · 7314 阅读 · 0 评论 -
SpringBoot+Jpa+MySql学习
上一篇介绍了springboot简单整合mybatis的教程。这一篇是介绍springboot简单整合jpa的教程。由于jpa的功能强大,后续会继续写关于jpa的介绍已经使用,本文只是简单介绍一下它与springboot的整合。jpa不需要像mybatis一样创建表,首先给大家看一下application.properties文件代码,其中包含了jpa的配置和数据库配置,尤其注意一下spr...原创 2018-04-07 14:28:03 · 1148 阅读 · 0 评论 -
SpringBoot定时任务
项目中很多时候会使用到定时任务,这篇文章介绍一下springboot整合定时任务。springboot整合定时任务其实就两点, 1.创建一个能被定时任务类,方法上加入@Scheduled注解 2.在启动类application上加入@EnableScheduling注解代码如下,pom文件我只加入了devtools,其实不加入也可以<?xml version="1.0" ...原创 2018-04-07 17:11:25 · 811 阅读 · 0 评论 -
SpringBoot返回json和xml
有些情况接口需要返回的是xml数据,在springboot中并不需要每次都转换一下数据格式,只需做一些微调整即可。新建一个springboot项目,加入依赖jackson-dataformat-xml,pom文件代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache...原创 2018-04-08 17:24:03 · 19054 阅读 · 6 评论 -
SpringBoot使用Swagger2实现Restful API
很多时候,我们需要创建一个接口项目用来数据调转,其中不包含任何业务逻辑,比如我们公司。这时我们就需要实现一个具有Restful API的接口项目。本文介绍springboot使用swagger2实现Restful API。本项目使用mysql+jpa+swagger2。首先pom中加入swagger2,代码如下:<?xml version="1.0" encoding="...原创 2018-04-09 15:26:00 · 8018 阅读 · 0 评论 -
SpringBoot文件上传下载
项目中经常会有上传和下载的需求,这篇文章简述一下springboot项目中实现简单的上传和下载。新建springboot项目,前台页面使用的thymeleaf模板,其余的没有特别的配置,pom代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4...原创 2018-04-10 10:04:17 · 32685 阅读 · 1 评论 -
SpringBoot多数据源
很多业务场景都需要使用到多数据库,本文介绍springboot对多数据源的使用。这次先说一下application.properties文件,分别连接了2个数据库test和test1。完整代码如下:##端口号server.port=8888##数据库urlspring.datasource.test.url=jdbc:mysql://localhost:3306/test?c...原创 2018-04-11 00:13:57 · 5887 阅读 · 0 评论 -
SpringBoot邮件发送
这篇文章介绍springboot的邮件发送。由于很简单就没有分出server和imp之类,只是在controller简单写个方法进行测试。首先pom文件加入spring-boot-starter-mail,代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache....原创 2018-04-11 00:29:51 · 989 阅读 · 0 评论 -
使用Log4j日志处理
Springboot日志默认使用的是logback,本文将介绍将springboot项目日志修改为log4j。首先要将默认的日志依赖排除,然后引用log4j,pom文件代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.原创 2018-04-11 00:32:45 · 1091 阅读 · 0 评论 -
SpringBoot集成阿里巴巴Druid监控
druid是阿里巴巴开源的数据库连接池,提供了优秀的对数据库操作的监控功能,本文要讲解一下springboot项目怎么集成druid。本文在基于jpa的项目下开发,首先在pom文件中额外加入druid依赖,pom文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache...原创 2018-04-12 14:19:12 · 1523 阅读 · 0 评论 -
使用Actuator监控
Actuator可能大家非常熟悉,它是springboot提供对应用自身监控,以及对应用系统配置查看等功能。springboot使用actuator的方式非常简单,只需要在项目中加入依赖spring-boot-starter-actuator,完整pom文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns...原创 2018-04-14 18:18:06 · 1490 阅读 · 0 评论 -
SpringBoot整合Redis
偷懒了几天,好几天没写springboot了。真的不是没什么可写,是因为坚持做一件事真的很难。 今天抽空弄了一个springboot整合redis的小例子。首先做好准备工作,在本地安装一个redis,具体步骤可以自行百度,然后启动redis。出现下图页面就启动成功了。然后新建项目,加入redis依赖,pom文件如下:<?xml version="1.0" encod...原创 2018-04-18 12:41:38 · 5154 阅读 · 0 评论 -
使用Admin监控
在springboot中,也提供了很全面的监控系统。这篇文章介绍一下springboot—admin监控springboot项目。原来大致是这样的,springboot——admin——server负责当监控中心,功能类似springcloud–eureka。其他springboot作为client把自身信息注册到admin–server中去。创建一个springboot-admin-se...原创 2018-04-19 10:47:59 · 3339 阅读 · 0 评论 -
SpringBoot整合RabbitMQ
RabbitMQ是开源消息队列系统,用erlang语言开发。如果不了解可以查看官网http://www.rabbitmq.com/这篇文章介绍一个springboot简单整合RabbitMQ。1.安装rabbitmq,自行百度即可,方法很多。2.启动rabbitmq,成功如下图:可以访问http://localhost:15672/查看管理页面新建项目,pom文件加入依...原创 2018-04-25 12:34:32 · 1270 阅读 · 2 评论 -
SpringBoot拦截器
在实际开发中,总存在着这样的场景,比如拦截请求的ip地址,或者在所有的请求都返回相同的数据,如果每一个方法都写出相同数据固然可以实现,但是随着项目的变大,重复的代码会越来越多,所以在这种情况我们可以用拦截器来实现。最近一直在研究thymeleaf,越发的感觉这个很好用,所以这篇文章也选择结合这个来使用。新建项目,pom文件如下:<?xml version="1.0" enco...原创 2018-04-27 20:09:13 · 14788 阅读 · 0 评论 -
SpringBoot统一处理异常
在springboot项目,报错有着默认的提示,这篇文章介绍一下如何统一处理异常。新建项目,pom文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSche...原创 2018-04-28 16:16:19 · 806 阅读 · 0 评论