
SpringBoot
文章平均质量分 59
Mkeeper
蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也
展开
-
SpringBoot基础教程2-1-2 Controller规范及响应规范
1. 概述基于接口编程是解耦的基本原则,工作中经常需要定义接口,看似没有什么技术难题,但需要良好的编程习惯来约束。2. 常见“坏”接口 返回Map,可读性差@GetMapping("/{id}")public Map<String,String> get(@PathVariable Integer id){} 返回Object,大忌!使用者或...原创 2018-07-08 20:31:00 · 1383 阅读 · 0 评论 -
SpringBoot基础教程2-1-10 文件上传
1. 概述文件上传,下载功能是web中常见功能,SpringBoot几乎把文件上传功能封装到了极致,只需短短的配置,和几行代码就能实现文件上传功能。2. 源码分析2.1. 添加pom.xml依赖<dependency> <groupId>org.springframework.boot</groupId> <a...原创 2018-08-17 14:01:55 · 177 阅读 · 0 评论 -
SpringBoot基础教程2-1-11 RestTemplate整合HttpClient
1 概述Http请求在服务端开发中必不可少,本文使用RestTemplate做门面,HttpClient做实现,演示基础的Http请求例子。2 源码分析2.1 添加pom.xml依赖RestTemplate在Spring-Web模块中内置,SpringBoot自动引入&lt;dependency&gt; &lt;groupId&gt;org.apache.httpcompo...原创 2018-09-18 09:10:24 · 479 阅读 · 0 评论 -
SpringBoot基础教程3-1-1 简单定时任务方法介绍
1 概述定时任务,特定的时间执行任务,在项目中普遍使用。本文介绍简单的无状态无持久化的定时任务实现方式;Timer,ScheduledExecutorService,Spring Task。2 Timer实现方式JDK自带的java.util.Timer;通过调度java.util.TimerTask的方式 让程序按照某一个频度执行,但不能在指定时间运行。 一般用的较少。/** * ...原创 2018-09-29 10:47:19 · 168 阅读 · 0 评论 -
SpringBoot基础教程3-1-2 Quartz定时任务快速整合
1 概述Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序,尽管Quartz框架整合了许多额外功能,但就其简易形式看,你会发现它易用得简直让人受不了!2 代码实现2.1 添加依赖<!--quartz相关依赖--><dependency>...原创 2018-10-09 16:29:45 · 293 阅读 · 0 评论 -
SpringBoot基础教程3-1-3 Quartz定时任务单点持久化
1 概述实际项目中,复杂的定时任务都会结合持久化,动态改变定时任务状态,本文将介绍基于Quartz的定时任务单点持久化方式,通过RESTful风格,演示定时任务的CRUD,最后使用Swagger测试。2 数据库表说明//Quartz表qrtz_calendars:以 Blob 类型存储 Quartz 的 Calendar 信息qrtz_cron_triggers:存储 Cron Trig...原创 2018-10-23 09:06:07 · 372 阅读 · 0 评论 -
SpringBoot基础教程3-1-4 xxl-job快速整合
1 概述XXL-JOB是一个轻量级分布式任务调度平台,开发迅速、学习简单、轻量级、易扩展。本文演示如何使用快速SpringBoot,搭建XXL-JOB调度平台。xxl-job详细介绍请移至官网2 简单理解xxl-job由调度中心和执行器两部分组成,调度中心负责任务的调度,执行器负责执行任务。调度中心后台,支持配置任务,控制任务,查看任务运行日志等功能。3 本地环境准备Java 1...原创 2018-11-06 16:37:37 · 354 阅读 · 0 评论 -
SpringBoot基础教程4-1-1 使用JdbcTemplate操作数据库及事务管理
1 概述SpringBoot封装的JdbcTemplate,使用模板模式,去除JDBC繁琐的重复代码,并提供了基于注解的事务管理;下面详细介绍如何使用JdbcTemplate操作数据和事务管理。2 添加依赖<dependency> <groupId>org.springframework.boot</groupId> ...原创 2018-12-12 14:37:13 · 1809 阅读 · 1 评论 -
SpringBoot基础教程3-1-5 Elastic-Job-lite快速整合
1 概述Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务,外部依赖仅Zookeeper。具体参考,官网2 核心理念分布式调度Elastic-Job-Lite并无作业调度中心节点,而是基于部署作业框架的程序在到达相应时间点时各自触发调度。注册中心仅用于作业注册和监控信息存储。而主作业节点仅用于处理分片和清理等功能。作...原创 2018-12-06 16:19:00 · 631 阅读 · 0 评论 -
SpringBoot基础教程2-1-8 数据验证-自定义日期格式验证
1 概述javax.validation包与hibernate-validator包中注解能满足大部分需求,但是还是有必要熟悉下自定义数据验证注解,如日期格式验证。2 添加依赖<dependencies> <!-- 唯一需要依赖,默认就内嵌了Tomcat容器,如需要更换容器Jetty、Undertow也极其简单--> &l...原创 2018-08-08 10:25:11 · 6363 阅读 · 2 评论 -
SpringBoot基础教程2-1-9 数据验证-分组验证
1. 概述本篇是数据验证系列最后篇,将会给大家介绍分组验证;上一篇自定义验证注解中有提到,groups属性,它正是用来分组验证,解决”一些条件需要验证某个属性,另外的条件不需要验证该属性”的情形。2. 源码分析2.1. 添加pom.xml依赖<dependency> <groupId>org.springframework.boot&l...原创 2018-08-15 10:01:15 · 3121 阅读 · 1 评论 -
SpringBoot基础教程2-1-6 日志规范-使用AOP统一处理Web日志
1. 概述数据验证是企业应用开发中必备可少的环节,通常如果使用if-else在业务代码中写死验证逻辑,会导致验证逻辑与业务逻辑耦合。2. 不合理的验证方式public class BadDemo { public void bad(String str){ if(null == str){ throw new NullPoint...原创 2018-07-30 20:27:34 · 284 阅读 · 0 评论 -
SpringBoot基础教程1.1.1 项目搭建
1. 概述SpringBoot为微服务而生,大大简化搭建web工程的时间;个人理解,springboot是一些框架的集合, 整合各个框架,降低使用门槛。1.1. 特色介绍项目的同时,推荐相关IntelliJ IDEA快捷键,熟能生巧,无需死记硬背。2. 本节重点工程搭建第一个 web服务工程结构快捷键2. 工具IntelliJ IDEA,直接官网...原创 2018-07-02 09:07:03 · 250 阅读 · 0 评论 -
SpringBoot基础教程2-1-3 异常处理规范
1. 概述异常处理,在平时业务处理中不可避免;但是,阅读代码最头疼的就是看到一堆try-catch语句,业务逻辑参杂其中,极难维护;那要怎样优雅的处理异常呢?请耐心阅读全文。2. 不负责任的处理异常 直接抛出异常或遗漏未捕获异常,会怎样?Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常...原创 2018-07-09 09:13:10 · 206 阅读 · 0 评论 -
SpringBoot基础教程1-1-2 配置文件介绍
1. 概述SpringBoot极大的简化了配置,常用配置都可以application.yml或者application.properties文件中设置。1.1. 特色介绍项目的同时,推荐相关IntelliJ IDEA快捷键,熟能生巧,无需死记硬背。2. 本节重点SpringBoot常用配置介绍多环境如何配置自定义配置文件2. 工具IntelliJ ...原创 2018-07-04 09:26:14 · 427 阅读 · 1 评论 -
SpringBoot基础教程2-1-1 搭建RESTful风格Web服务
1. 概述RESTful架构风格规定,数据的元操作,即CRUD(增删查改)操作,分别对应于HTTP方法:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源,这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作。 - GET(SELECT):从服务器取出资源(一项或多项)。 - POST(CREATE):...原创 2018-07-06 13:15:11 · 627 阅读 · 0 评论 -
SpringBoot基础教程2-1-4 日志规范-基础配置详解
1. 概述 不需要任何配置,只需要添加spring-boot-starter-web依赖,SpringBoot已经为我们集成日志框架,默认使用logback; 在项目根目录使用maven命令mvn dependency:tree,查看依赖结果如下 创建主函数,运行后,可以看到,SpringBoot默认日志格式如下格式解析:(默认采用颜色日志) - 时间日...原创 2018-07-13 10:14:02 · 528 阅读 · 0 评论 -
SpringBoot基础教程2-1-6 日志规范-使用AOP统一处理Web日志
1. 概述Web层作为服务的入口,对请求参数和响应结果的日志记录是必不可少的,本文结合AOP切面技术,统一处理Web日志。2. 一般Web日志记录方法 大部分人,会直接在Controller打印日志,如下:@Slf4j@RestControllerpublic class UserController { @PostMapping("/user") ...原创 2018-07-25 10:14:08 · 325 阅读 · 0 评论 -
SpringBoot基础教程2-1-5 日志规范-logback配置详解
1. 概述 日志会在ApplicationContext 之前初始化, SpringBoot 为我们提供了 logging.config 属性,方便我们配置自定义日志文件。默认情况它会根据日志的依赖自动加载。 Logging System Customization JDK logging.properti...原创 2018-07-15 14:51:28 · 751 阅读 · 0 评论 -
SpringBoot基础教程4-1-2 使用Mybatis操作数据库
1 概述为什么选择Mybatis,一个很重要的原因是它,将封装与开放的完美结合,高效的生成增删改查的同时,又能满足复杂的SQL场景,下面我们详细介绍,SpringBoot如何快速接入Mybatis实现数据库的增删改查。2 添加依赖<dependencies> <dependency> <groupId>org.spr...原创 2019-01-03 17:05:29 · 385 阅读 · 0 评论