小白的springboot之路(一).环境搭建.第一个实例 0- 前言 Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘,我们不废话,好了,下面直接上酸菜: 1- 环境搭建 涉及工具: jdk jdk1.8.0_144 idea 2019.1.3 maven3.6.0 1.1- 安装JDK1.8:讲bin目录路径加入系统环境变量(方法自行度娘) 1.2- 安装idea并和谐掉:(和谐方法自行度娘,注意:idea201…
0-前言 现在的项目开发,基本都是前后端分离,后端专注于API接口开发,都需要编写和维护API接口文档.如果你还在用Word来编写接口文档,那你就out了,这个时候,当当当当~神兵利器swagger隆重出场!Swagger根据项目自动生成API文档,可以帮助我们更好的编写和维护API文档.Spring boot集成swagger那是必须的,好不好用,谁用谁知道. 1-springboot 集成swagger swagger集成swagger很简单,只需几步即可: 1-1.添加maven依赖: <…
0-前言 集成swagger,有两种方式: 一种在前面已经介绍过了,直接集成官方的springfox-swagger2的方式,这种方式需要在配置类中配置 第二种方式是这里要介绍的方式,国人写的com.spring4all的方式,这种方式其实是对第一种方式的进一步封装, 只是把配置从配置类中配置提取到了在配置文件配置,看个人喜好了,你喜欢在配置文件中配置swagger基本属性的可以用com.spring4all 1-实现 简单4步轻松实现: 1-1.添加依赖: <!-- swagger -->…
兴趣的朋友可以去了解一下其他几篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) SpringBoot起飞之路-YAML配置小结(入门必知必会) (四) SpringBoot起飞之路-静态资源处理 (五) SpringBoot起飞之路-Thymeleaf模板引擎 (六) SpringBoot起飞之路-整合JdbcTemplate-Druid-MyBatis (七) SpringBoot起…
0.前言 日志记录对系统来说必不可少,spring boot中常用的日志组件有log4j.logback.log4j2,其中logback是spring boot默认的,已自带:选用log4j2就可以,其他的不必去关注: 一.集成log4j2日志组件 1.pom依赖中去除默认的logback日志框架: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo…
0.前言 mybatis属于半自动的ORM,相比hibernate这种全自动的ORM,兼顾了性能与易用:目前企业项目中,基本都是mybatis的天下:今天就来整合mybatis与MySQL: 1.整合 1.-1.添加依赖: <!-- 集成mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starte…
0.前言 MongoDB是一个高性能.开源的文档型数据库,是当前nosql数据库中最热门的一种,在企业中广泛应用:虽然前段时间更改了开源协议导致被很多企业舍弃,但主要是对云服务商影响较大,对我们来说其实没什么影响:下面介绍简单集成,高级用法以后详聊 一.启动MongoDB 1.在官网下载Windows压缩包,解压2.创建数据库存放地址,如:C:\data\db 3.在MongoDB的bin目录下创建bat文件,编辑写入:mongod --dbpath C:\data\db,保存, 然后,点击ba…
0-前言 Druid阿里巴巴开源的一个java数据库连接池,是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能:集成它能够方便我们对数据库连接进行监控和分析,下面我们来集成它: 1-集成druid 集成druid很方便,继续几步即可: 1-1.添加依赖: <!-- 6.集成druid--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-sprin…
0.前言 在项目中,缓存作为一种高效的提升性能的手段,几乎必不可少,Redis作为其中的佼佼者被广泛应用: 一.spring boot集成Redis 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.配置文件增加Re…
0.前言 开发系统中,前后端分离,后端一般返回RESTfull  API,前端调用API构建UI,彼此分离.互相完全独立: 后台API中,我们一般返回结果码.提示信息.数据三部分内容,如图: 我们今天就来构建一个完整的前后端分离后端的API 一.RESTfull API构建 1.增加结果码接口 IErrorCode package com.anson.common.result; /** * @Author anson * @Description 1.结果码接口 * @Date 2019/12…
0-.前言 在用mybatis开发项目中,数据库动辄上百张数据表,如果你一个一个去手动编写,比较耗费时间:还好,我们有mybatis-generator插件,只需简单几步就能自动生成mybatis的model.mapper和Dao文件,很方便: 题外话:注意,mybatis-generator的项目建议单独去建一个项目,生成model.mapper.dao后再根据需要拷到实际项目中去:不要集成到实际项目中,以免对实际项目造成影响,因为集成在项目中,一不小心生成了,全部覆盖了原来的文件,那你自己添…
0.前言 1.什么是AOP AOP(面向切面编程),是一种横切技术,是对OOP的补充和完善: 使用AOP的横切,可以对系统进行无侵入性的日志监听.事务.权限管理等: 思想上跟拦截器其实类似;拦截器是对action进行拦截处理,AOP是对切面进行拦截处理,其实切面也属于一种action集合: AOP可以很好解耦: 2.AOP的组成 Aspect:切面: Join point:连接点: Advice:通知,在切入点上执行的操作: Poincut:带有通知的连接点: target:被通知的对象: AO…
0.前言 过滤器.监听器.拦截器在实际开发中经常需要用到,下面我们来介绍一下spring boot中如何使用: 一.------ 过滤器 ----- 1.作用: 过滤器是客户端与服务器资源文件之间的一道过滤网,可以帮助我们过滤一些不符合要求的请求.可以对服务器的资源请求(如图片.文件等)进行拦截以实现一些特殊功能以及给予特殊响应: 常用作session校验.判断用户权限.过滤敏感词汇.压缩响应信息.控制URL级别访问权限等 2.实现: 使用过滤器很简单,只需要实现Filter类,重写他的三个方法…
0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version…
0-前言 mybatis plus是对mybatis的增强,集成mybatis plus后,简单的CRUD和分页就不用写了,非常方便,五星推荐: 1-集成 1-1.添加依赖 <!-- .集成mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version…
0-前言 项目中,文件服务必不可少,常用的有各云服务商的OSS服务(如阿里云OSS,腾讯云OSS,七牛云).自建(fastDFS.minio): 推荐:如果用云服务的话,阿里云OSS很方便,如果自建的话,minio无疑是首选: 这里我们来简单介绍阿里云OSS的使用,minio我们后面介绍: 1-实现 1-0.开通OSS,并获取到相关配置参数供程序使用 首先开通阿里云OSS,创建bucket.创建AccessKey,几分钟就搞定了,不会的具体百度下: 1-1.添加依赖 <!-- 1.集成阿里云OS…
这次要完成Camera跟随Player移动, 首先考虑Camera的跟随目标target和平滑移动速度smothing再考虑Camera与Player的偏移量(就是Camera与Player有一个永恒的长度) 目标位置和平滑移动速度 public Transform target; public float smothing = 5f; 偏移量 Vector3 offset; 设置偏移量 void Start () { offset = transform.position - target.p…
0-前言 事务管理对于企业级应用来说必不可少,用来确保数据的完整性和一致性: 1-开启事务 spring boot支持编程式事务和声明式事务,用声明式事务即可: spring boot开启事务非常简单,只需要在类或者方法上添加 @Transactional 即可(添加到类上,类中所有public方法均开启事务,影响性能,不要这么用,请添加到方法上) 为什么这么简单?因为在spring boot中,已经默认对JPA.JDBC.mybatis开启了事务,在引入他们依赖的时候就已经默认开启了事务,至于…
0-前言 前后端分离.分布式集群,经常都会涉及到跨域访问,而浏览器基于同源策略,正常情况下是不能跨域的,这就需要我们解决跨域访问问题:spring boot解决跨域也比较简单: 1-CORS跨域解决方案 spring boot CORS解决跨域比较简单,只需要增加一个CORS的配置类即可:在config下新建一个配置类,代码如下: package com.anson.config; import org.springframework.context.annotation.Configurati…
0.前言 任何系统,我们不会傻傻的在每一个地方进行异常捕获和处理,整个系统一般我们会在一个的地方统一进行异常处理,spring boot全局异常处理很简单: 介绍前先说点题外话,我们现在开发系统,都是前后端完全分离的,后端只提供RESTfull API,禁止涉及任何界面,什么thymeleaf.JSP那些后端模板,是绝对禁止使用的,那些东西请扔垃圾箱,不要浪费大好青春去研究,那是堕落:前端则负责界面相关,常用Vue:如果公司还没前后端分离,还在thymeleaf还在前后端一起写,那你还是早做跳槽…
0-前言 在有些系统中,比如网站,往往需要支持多国语言,英文版中文版什么的,这个其实也不难: 今天我们就来介绍spring boot中用i18n在后端支持多语言: 当然,也可以直接在前端用i18n直接支持多语言,这个我们以后在前端系列中再介绍: 1-实现 简单6步,轻松实现: 1-1.增加多语言文件 在resources中,新增static/i18n文件夹,在里面新建新建三个文件: messages.properties(默认的多语言文件) messages_zh_CN.properties(中…
环境:Spring Boot,Swagger,gradle,Postman,newman,jenkins SpringBoot环境搭建. Swagger简介 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. 一.SpringBoot集成Swagger 1.build.gradle增加swagger相关jar包,maven项目同理. 2.增加SwaggerConfig配置文件. 前两步完成,访问http://localhost:8080/demoService/swa…
spring-boot 集成 swagger 网上有许多关于 spring boot 集成 swagger 的教程.按照教程去做,发现无法打开接口界面. 项目由 spring mvc 迁移过来,是一个无界面纯 API 的项目.迁移之前就支持 swagger. [问题描述] 第一个问题是无权限访问,这个问题好办,在 shiro 的配置里,设置 /swagger-ui.html = anon 再次测试仍不行,于是暂时禁用 shiro, 即将 /** = user --> /** = anon 这次的…
Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. Swagger可以整合到代码中,在开发时通过注解,编写注释,自动生成API文档: 方便前后端分离开发 swagger是什么? API Developmentfor Everyone springboot中集成swagger 1.添加pom依赖 <!-- https://mvnrepository.co…
SpringBoot集成Swagger 1. 引入依赖 // SpringBoot compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-starter-actuator') // springfox-swagger compile('io.springfox:springfox-swagger2:2.9.2') compile('io.s…
springboot集成swagger上篇文章介绍: https://blog.csdn.net/qiaorui_/article/details/80435488 添加头信息: package com.rails.travel.conf; import java.util.ArrayList;import java.util.List; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;i…
其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同的资源有不同的请求标识.例如PUT,POST,GET,DELETE,OPTIONS,HEAD,PATCH等. 对于技术的初学,最好的话还是建议去官网,官网最详细也最权威,虽然不少博客对此有挺好的解说,但还是强烈建议去官网,不要求仔仔细细阅读,至少读个大概. 对于目前,有人要问我swagger能做什么…
今天技术总监说:小明,我们本次3.0改造,使用swagger2.0作为前后端分离的接口规范,它可以一键生成前后端的API,一劳永逸--小明:??? Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API,而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助.本文将使用 Swagger 2 规范的 Springfox 实现来了解如何…
//此处省略springboot创建过程 1.引入swagger相关依赖(2个依赖必须版本相同) <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.1.2</version> </dependency> <dependency> <groupId…
SpringBoot(十二)过滤器详解 往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静态资源配置详解 SpringBoot系列(五)Mybatis整合完整详细版 SpringBoot系列(六)集成thymeleaf详解版 Springboot系列(七) 集成接口文档swagger,使用,测试 SpringBoot系列(八)分分钟学会Spri…