SpringBoot
Fant_J
千千阙文。
展开
-
spring-boot2-整合(一)Mybatis-(特别完整!)
整合Mybatis分为两种模式,一种是xml配置,一种是注解。(类似JPA) 我在这里重点放在xml配置上,因为如果想用注解的话,建议直接用jpa代替,因为Jpa有更成熟的CRUD接口更方便开发。我在后文中也会把注解方式说清楚。大概介绍下流程: 1. 借助idea实现mybatis逆向工程 2. 用xml配置实现整合 3. 用cmd命令行实现mybatis逆向工程 4. ...原创 2018-03-28 19:51:20 · 14641 阅读 · 3 评论 -
SpringBoot 整合JPA | PageHelper 的分页最简实现
JPA又自己的Pageable来帮助我们实现分页,Mybatis有PageHelper帮我们实现分页,下面直接贴代码。1. 用JPA实现分页1.1 pom添加依赖 <dependency> <groupId>org.springframework.boot</groupId> ...原创 2018-08-15 21:08:50 · 2776 阅读 · 0 评论 -
如何使用JPA的UUID主键生成策略
这篇文章只写给主键用uuid并且用jpa的小伙伴。1. 数据实体类@Entity@Table(name = "ip_user")@GenericGenerator(name = "jpa-uuid", strategy = "uuid")public class User implements Serializable { @Id @Generate...原创 2018-08-15 21:09:07 · 16396 阅读 · 3 评论 -
SpringBoot 缓存&资源优化
页面缓存1. freemarker 的页面静态化application.properties 配置实现浏览器缓存# SPRING RESOURCES HANDLING ([ResourceProperties](https://github.com/spring-projects/spring-boot/tree/v1.5.4.RELEASE/spring-boot-autoc...原创 2018-08-15 21:09:20 · 1414 阅读 · 0 评论 -
使用WireMock 伪造 Rest 服务
WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。 当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。官方文档:http://wiremock.org/docs/running-standalone/1. 搭建wireMock单机服务1....原创 2018-08-16 11:30:40 · 2668 阅读 · 0 评论 -
spring boot2 整合(二)JPA(特别完整!)
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不是使用私有供应商特有的API。 JPA是需要Provider来实现其功能的,Hibernate就是JPA Provide...原创 2018-08-16 11:31:16 · 6108 阅读 · 0 评论 -
spring boot2 整合(一续)Druid数据库连接池和FastJson
本项目教程环境建立在spring boot2 整合(一)Mybatis (特别完整!) 的基础上。1. Druid配置1.1 修改pom.xml <!-- alibaba的druid数据库连接池 --> <dependency> <groupId>com.alibaba</gr...原创 2018-08-16 11:31:34 · 1461 阅读 · 0 评论 -
spring boot2 整合(三)JOOQ工具
先来介绍下jooqjOOQ是一个基于Java编写SQL的工具包,具有:简单、轻量、函数式编程写SQL等独特优势,非常适合敏捷快速迭代开发。SQL语句:SELECT AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, COUNT(*) FROM AUTHOR JOIN BOOK ON AUTHOR.ID = BOOK.AUTHOR_ID W...原创 2018-08-16 11:31:49 · 2789 阅读 · 0 评论 -
spring boot2 整合(四)定时任务Scheduled || Quartz并持久化
在进入正文前,我想把所有java可以实现的定时任务介绍一下,其实这个也是底层实现思路。本教程大概目录: 1. 线程等待实现定时任务 2. 用Timer实现定时任务 3. 用ScheduledExecutorService实现定时任务 4. Quartz 定时任务框架单机应用 5. spingboot2 整合 Scheduled 6. spingboot2 整合 Quartz...原创 2018-08-16 11:32:10 · 3840 阅读 · 0 评论 -
SpringBoot 整合(五)Swagger2
日常我们开发完后端接口,如果是返回restful,写API文档是免不了的,Swagger可以帮我们解决大多数问题(自动生成API文档)。他会帮我们生成一个html页面,大概就是这个样子。 好了,开始正文,如果你觉得有需要的话,往下看。1. 添加依赖<dependency> <groupId>io.springfox</grou...原创 2018-08-16 11:32:30 · 462 阅读 · 0 评论 -
Springboot项目下载/上传路径整理
以前写SSM项目的时候,项目结构是webapp,所以在代码里./就是相对路径。 但是在resources目录下,这样的写法是resources目录项目1. ./表示什么 实验表明, 在resources目录结构下./表示项目源码根目录2. request.getServletContext().getContextPath()表示什么 这里我们可以看...原创 2018-08-13 09:01:59 · 5806 阅读 · 0 评论 -
2018最新(最全)手机号正则
/** * Created by Fant.J. */public class CheckFormat { public static boolean isEmail(String email){ String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\....原创 2018-08-14 13:50:41 · 9225 阅读 · 0 评论 -
SpringBoot 手写过滤器&加载第三方过滤器
如何手写一个过滤器呢。假设我现在需要一个计时过滤器,我想把每一次调用服务锁花费的时间打印到控制台,我该怎么做呢?拦截机制有三种:1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3. 切片(Aspect)能拿到方法...原创 2018-08-14 13:46:54 · 1374 阅读 · 0 评论 -
SpringBoot 手写拦截器
如何手写一个拦截器呢。假设我现在需要一个计时拦截器,我想把每一次调用服务锁花费的时间打印到控制台,我该怎么做呢?拦截机制有三种:1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3. 切片(Aspect)能拿到方法...原创 2018-08-14 13:47:31 · 612 阅读 · 0 评论 -
SpringBoot 手写切片/面向切面编程
如何手写一个切片呢。假设我现在需要一个计时切片,我想把每一次调用服务锁花费的时间打印到控制台,该怎么做呢?拦截机制有三种:1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3. 切片(Aspect)能拿到方法的参数...原创 2018-08-14 13:47:46 · 449 阅读 · 0 评论 -
SpringBoot 文件上传/下载
有啥不懂的或者出错的可以在下面留言。1. 文件上传 //上传路径 String folder = "C:\\code\\springboot-springsecurity\\security-demo\\src\\main\\java\\com\\laojiao\\xxx\\controller"; @PostMapping public Strin...原创 2018-08-14 13:48:06 · 532 阅读 · 0 评论 -
SpringBoot 并发编程学习历程(绝对的干货)
如果一个项目总用单线程来跑,难免会遇到一些性能问题,所以再开发中,我们应该尽量适量的使用多线程(在保证线程安全的情况下)。本教程大概目录: 1. 模拟单线程情节 2. 用Callable实现 并发编程 3. 用DeferedResult实现异步处理模拟单线程情节/** * Created by Fant.J. */@RestController@Slf4j...原创 2018-08-14 13:48:20 · 553 阅读 · 1 评论 -
SpringBoot 自定义线程池
我们都知道spring只是为我们简单的处理线程池,每次用到线程总会new 一个新的线程,效率不高,所以我们需要自定义一个线程池。本教程目录: 1. 自定义线程池 2. 配置spring默认的线程池1. 自定义线程池1.1 修改application.propertiestask.pool.corePoolSize=20task.pool.maxPoolSi...原创 2018-08-14 13:48:35 · 5470 阅读 · 0 评论 -
SpringBoot 整合(五)Swagger2
日常我们开发完后端接口,如果是返回restful,写API文档是免不了的,Swagger可以帮我们解决大多数问题(自动生成API文档)。他会帮我们生成一个html页面,大概就是这个样子。 好了,开始正文,如果你觉得有需要的话,往下看。1. 添加依赖<dependency> <groupId>io.springfox</grou...原创 2018-08-14 13:49:18 · 136 阅读 · 0 评论 -
SpringBoot 整合 Dubbo&Zookeeper 实现分布式
1. 安装 Zookeeper 环境Zookeeper 环境搭建&zk命令详解2. 服务提供者因为用了父工程的版本管理,所以这里没有显示版本,我把用到的版本给大家分享下。jdk 1.8springboot 1.5.8spring-boot-starter-dubbo 1.0.0闲余之际我会把demo源码分享。2.1 pom依赖 <...原创 2018-08-14 13:50:03 · 1459 阅读 · 1 评论 -
Json 逆向生成 javaBean
我的开发环境:IDEA+maven+jdk1.81.下载idea插件GsonFormat2. 添加依赖该插件支持的json序列化工具: 我在这里用阿里的fastJson 依赖,想用gson、jackson的都可以,插件都支持 <dependency> <groupId>com.alibaba</...原创 2018-08-14 13:50:20 · 1966 阅读 · 0 评论 -
SpringBoot 整合(六)Security & Oauth2.0(完整篇)
1. 快速实现篇(实现最基本的登录):SpringSecurity 快速实现项目2. 企业级封装篇我的 Spring Security 文集 SpringBoot 整合 Security(一)实现用户认证并判断返回json还是viewSpringBoot 整合 Security(二)实现验证码登录SpringBoot 整合 oauth2(三)实现 token 认证S...原创 2018-08-16 11:32:54 · 7755 阅读 · 0 评论