自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云中、漫步的博客

努力执着!

  • 博客(44)
  • 收藏
  • 关注

原创 线程池

为什么要使用线程池?我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口(Thread类其实也是实现了Runnable接口)。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁的创建和销毁线程会大大浪费时间和效率,更重要的是浪费内存。使用线程池能有效的控制这种线程的创建和销毁,而且能够对创建的线程进行有效的管理。...

2020-01-18 22:10:22 71

转载 ScheduledExecutorService 延迟/周期执行线程池

https://blog.csdn.net/wangmx1993328/article/details/80840598

2020-01-16 01:01:27 603

原创 ScheduledExecutorService 一个定长线程池,支持定时及周期性任务执行

ScheduledExecutorService的主要作用就是可以将定时任务与线程池功能结合使用。由于是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一...

2020-01-16 00:57:56 765

原创 线程池-----ScheduledExecutorService实现定时任务

接口scheduleAtFixedRate原型定义及参数说明:public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit);command:执行线程;initialDelay:初始化延时;p...

2020-01-16 00:52:38 600

原创 Spring Boot (三十八)——Spring Data Jpa 简介

有很多读者留言希望松哥能好好聊聊 Spring Data Jpa!其实这个话题松哥以前零零散散的介绍过,在我的书里也有介绍过,但是在公众号中还没和大伙聊过,因此本文就和大家来仔细聊聊 Spring Data 和 Jpa!故事的主角Jpa1. JPA是什么 Java Persistence API:用于对象持久化的 API Java EE 5.0 平台标准的 ORM 规范,使得应用...

2020-01-14 00:06:41 182

原创 Spring Boot (三十七)——整合MyBatis多数据源

关于多数据源的配置,前面和大伙介绍过JdbcTemplate多数据源配置,那个比较简单,本文来和大伙说说MyBatis多数据源的配置。其实关于多数据源,我的态度还是和之前一样,复杂的就直接上分布式数据库中间件,简单的再考虑多数据源。这是项目中的建议,技术上的话,当然还是各种技术都要掌握的。前言在SSM整合中,开发者需要自己提供两个Bean,一个SqlSessionFactoryBean,还有...

2020-01-12 21:49:32 100

原创 Spring Boot (三十六)——整合MyBatis

Spring Boot中最简单的数据持久化方案是JdbcTemplate,JdbcTemplate虽然简单,但是用的并不多,因为它没有MyBatis方便,在Spring+SpringMVC中整合MyBatis步骤还是有点复杂的,要配置多个Bean,Spring Boot中对此做了进一步的简化,使MyBatis基本上可以做到开箱即用,本文就来看看在Spring Boot中MyBatis要如何使用。...

2020-01-12 17:46:42 134

原创 Spring Boot (三十五)——多数据源配置之JdbcTemplate

在实际开发中可能会遇到需要配置多个数据源的情况,比如:需要使用多个host、需要使用多种数据库(MySql、Oracle、SqlServer…).不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件MyCat去解决相关问题,然后分表策略使用sharding-by-intfile。当然如果一些简单的需求,还是可以使用多数据源的,Spring Boot中,JdbcTemplate、My...

2020-01-12 16:21:42 472

原创 Spring Boot (三十四)——数据持久化之整合JdbcTemplate

在Java领域,数据持久化有几个常见的方案,有Spring自带的JdbcTemplate、有MyBatis,还有JPA,在这些方案中,最简单的就是Spring自带的JdbcTemplate了,这个东西虽然没有MyBatis那么方便,但是比起最开始的Jdbc已经强了很多了,它没有MyBatis功能那么强大,当然也意味着它的使用比较简单,事实上,JdbcTemplate算是最简单的数据持久化方案了。...

2020-01-12 15:14:19 115

原创 几个好用Maven 镜像仓库地址

几个好用Maven 镜像仓库地址1、阿里云镜<mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> ...

2020-01-12 00:12:55 1052

原创 Spring Boot (三十三)——自定义 SpringMVC 配置,到底继承谁?

用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比较复杂,系统自带的配置不一定满足我们的需求,往往我们还需要结合实际情况自定义配置。自定义配置就有讲究了,由于 Spring Boot 的版本变迁,加上这一块本身就有几个不同写法,很多小伙伴在这里容...

2020-01-11 17:54:24 174

原创 Spring Boot (三十二)——整合Swagger2

2020-01-11 17:03:51 100

原创 Spring Boot (三十一)——自定义欢迎页及favicon

自定义欢迎页springboot 中定义欢迎页面有两种形式,如果是静态页面,直接定义一个index.html页面存放在resource/static目录下面,就可以了。如果是动态页面,我们需要请求一个“/index”路径返回一个“index.html”页面。需要注意的是,两者同时存在的话,以优先使用静态页面。实现比较简单,不再赘述。自定义faviconfavicon就是网站图标,比如:我...

2020-01-11 14:54:17 285

原创 Spring Boot (三十)——整合AOP

稍后整理

2020-01-11 14:28:35 212

原创 Spring Boot (二十九)——使用类型转换器

类型转换主要用在日期上,前端传来一个日期,后端如何来接收呢?下面看一个简单的例子:定义一个接口,方法接收一个Date类型的参数:@RestControllerpublic class UserController { @GetMapping("/hello") public void hello(Date date){ System.out.println(...

2020-01-11 13:50:40 449

原创 Spring Boot (二十八)——路径映射

我们都知道,我们使用动态模板如freemarker、thymeleaf等时,一般情况下我们都是经过一个controller处理后将页面渲染之后返回的,那么如果有些页面我们不需要渲染就想直接返回该怎么处理呢?这时候我们可以使用springboot提供的路径映射实现。具体如下:1、导入thymeleaf依赖,创建一个hell页面:<!DOCTYPE html><html la...

2020-01-11 00:50:46 291

原创 Spring Boot (二十七)——整合web基础组件

Web中的三大组件servlet、filter、listener在springboot 中也可以整合,下面具体实现一下:整合servlet创建一个servlet,继承HttpServlet类,这里需要添加注解@WebServlet,指定我们请求的action:@WebServlet(urlPatterns = "/myServlet")public class MyServlet exte...

2020-01-10 23:03:13 135

原创 Spring Boot (二十六)——定时任务

在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Quartz ,Spring Boot 源自 Spring+SpringMVC ,因此天然具备这两个 Spring 中的定时任务实现策略,当然也支持 Quartz,本文我们就来看下 Spring Boot ...

2020-01-10 22:16:34 168

原创 Spring Boot (二十五)——定义系统启动任务

在 Servlet/Jsp 项目中,如果涉及到系统任务,例如在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行,这里,容易想到web基础中的三大组件( Servlet、Filter、Listener )之一 Listener ,这种情况下,一般定义一个 ServletContextListener,然后就可以监听到项目启动和销毁,进而做出相应的数据初...

2020-01-10 17:33:40 191

原创 Spring Boot (二十四)——注册拦截器

在springboot中使用拦截器有两个步骤:1、自定义拦截器类,实现HandlerInterceptor接口2、注册拦截器自定义拦截器类public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest reques...

2020-01-10 15:09:27 207

原创 Spring Boot (二十三)——加载XML配置

前言在使用springboot的时候一般是极少需要添加配置文件的(application.properties除外),但是在实际应用中也会存在不得不添加配置文件的情况,例如集成其他框架或者需要配置一些中间件等,在这种情况下,我们就需要引入我们自定义的xml配置文件了。实现看一个最简单的例子,不用注解,使用xml的方式给容器中注入一个bean:首先,准备一个bean,不要注解:public...

2020-01-10 14:31:52 365

原创 Spring Boot (二十二)——通过CORS解决跨域问题

前言在前后端分离的项目中,前端一般是通过Ajax请求接口,如果前端和后台不在同一个服务器和端口,那么就会出现跨域的问题,比如当localhost:8081网站访问localhost:8080网站资源就会存在跨域问题。同源策略很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的,说到跨域,就不得不说说浏览器的同源策略。同源策略是由Netscape提出的一个著名的安全策略,它...

2020-01-10 13:32:04 428

原创 Spring Boot (二十一)——自定义异常处理

在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring 中 @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。Spring Boot 中,对异常的处理有一些默认的策略,我们分别来看。默认情况下,Spring Boot 中的异常页面 是这样的:我们从这个异常提示中,也能看出来,之所以用户看到这个页面,是因为开发者没有明确提供一个 /error 路...

2020-01-10 01:24:29 363

原创 Spring Boot (二十)——@ControllerAdvice注解的三种使用场景

@ControllerAdvice ,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能:全局异常处理全局数据绑定全局数据预处理灵活使用这三个功能,可以帮助我们简化很多工作,需要注意的是,这是 SpringMVC 提供的功能,在 Spring Boot 中可以直接使用,下面分别来看。全局异常处理先看一个异...

2020-01-09 00:37:41 736

原创 Spring Boot (十九)——实现文件上传

文件上传是项目开发中最常见的功能,springboot同样支持文件上传,需要使用到MultipartFile,MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。下面具体实现以下文件上传的几种场景:单文件上传在springboot中我们实现文件上传,不需要我们添加额外的依赖,已经有默认的配置,我们只需要编写我们的上传逻辑即可...

2020-01-06 00:36:47 294

原创 Spring Boot (十八)——静态资源配置

SSM 中的配置当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,一般来说,我们可以通过 <mvc:resources /> 节点来配置不拦截静态资源,如下:<mvc:resources mapping="/js/**" location="/js/"/><mvc:resources mapping="/css/**" location...

2020-01-05 14:31:33 327

原创 Spring Boot (十七)——Json的使用

目前java json解析工具有阿里的fastjson,google的GSON,以及SpringMVC 默认的解析工具Jackson。SpringBoot默认自带是jackson,很多json转换速率的比对,如jackson,阿里的fastjson等,jackson足够使用了。在springboot中只要加入相关依赖就可以使用,使用方式与SpringMVC一致。使用jackson1.pom.x...

2020-01-05 13:43:42 1082

转载 Spring Boot (十六)—— 整合Jsp

官方不推荐使用jsp作为页面,而是推荐使用模板thymeleaf作为页面展示。但是目前来说,很多项目的页面还是用的jsp.而且很多现成的项目用的jsp页面,扒过来就能用,当然如果时间允许的情况,还是不建议大家使用jsp,而是采用官方推荐的模板。如需使用参见下面的文章:转载:https://blog.csdn.net/qq_34021712/article/details/79976349...

2020-01-04 22:41:52 85

原创 Spring Boot (十五)—— 整合Thymeleaf

虽然现在慢慢在流行前后端分离开发,但是还是有一些公司在做前后端不分的开发,而在前后端不分的开发中,我们就会需要后端页面模板(实际上,即使前后端分离,也会在一些场景下需要使用页面模板,例如邮件发送模板)。后端页面模板比如: JSP,Velocity,FreeMaker等。早期的 Spring Boot 中还支持使用 Velocity 作为页面模板,现在的 Spring Boot 中已经不支持 Ve...

2020-01-04 20:33:13 136

原创 Spring Boot (十四)—— Freemarker常用指令

这里列举出Freemarker模板文件中8个常用的指令。1.assignassign指令用于创建或替换一个顶层变量,assign指令的用法有多种,包括创建或替换一个顶层变量,创建或替换多个变量等。示范代码:<#assign x>  <#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as n>    ...

2020-01-04 19:04:28 148

原创 Spring Boot (十三)——整合 Freemarker

Spring Boot (十三)——整合 Freemarker一、Freemarker 简介FreeMarker 是一款 老牌的开源的免费的模版引擎, 通过 Freemarker 模版,我们可以将数据渲染成 HTML 网页、电子邮件、配置文件以及源代码等。 它不是面向最终用户的,而是一个Java类库,我们可以将之作为一个普通的组件嵌入到我们的产品中。参见官方中文文档:http://freema...

2020-01-04 18:30:42 738

转载 Spring Boot (十二)——条件注解,Spring Boot 的基石(转载)

条件注解,Spring Boot 的基石!  Spring Boot 中的自动化配置确实够吸引人,甚至有人说 Spring Boot 让 Java 又一次焕发了生机,这话虽然听着有点夸张,但是不可否认的是,曾经臃肿繁琐的 Spring 配置确实让人感到头大,而 Spring Boot 带来的全新自动化配置,又确实缓解了这个问题。你要是问这个自动化配置是怎么实现的...

2020-01-03 22:36:42 108

转载 Spring Boot (十一)——Spring Boot 加入 Https 功能(转载)

Spring Boot (十一)——Spring Boot 加入 Https 功能https 现在已经越来越普及了,特别是做一些小程序或者公众号开发的时候,https 基本上都是刚需了。不过一个 https 证书还是挺费钱的,个人开发者可以在各个云服务提供商那里申请一个免费的证书。我印象中有效期一年,可以申请 20 个。今天要和大家聊的是在 Spring Boot 项目中,如何开启 ht...

2020-01-03 22:29:36 142

转载 Spring Boot (十)——自定义 Spring Boot 中的 starter(转载)

Spring Boot (十)——自定义 Spring Boot 中的 starter转载:https://blog.csdn.net/u012702547/article/details/101013203 ...

2020-01-03 22:09:20 119

原创 Spring Boot (九)——YAML属性配置文件使用详解

Spring Boot (九)——YAML属性配置文件使用详解Spring Boot弱化配置的特性让属性配置文件的使用也更加便捷,它默认支持对application.properties或application.yml属性配置文件处理。那么这两者完全一样吗?肯定不是啦!本文就来和大伙重点介绍下yaml配置。1、YAML是什么YAML是JSON的一个超集,是一种方便的定义层次配置数据的格式,结...

2020-01-01 23:59:45 590

原创 Spring Boot (八)——属性注入

普通的属性注入由于 Spring Boot 源自 Spring ,所以 Spring 中存在的属性注入,在 Spring Boot 中一样也存在。由于 Spring Boot 中,默认会自动加载 application.properties 文件,所以简单的属性注入可以直接在这个配置文件中写。例如,现在定义一个 Book 类:public class Book { private S...

2020-01-01 23:19:12 312

原创 Spring Boot (七)——容器的相关配置

容器的相关配置我们知道,Springboot项目项目创建好之后是内嵌了Tomcat服务器的,如图所示:可以看到,这个版本里面的Tomcat版本是9.0.29,所以我们不用再配置本地Tomcat了。那我们怎么去配置服务器的一些信息呢?我们在resource目录下的appllication.properties文件中修改就行了:#修改服务器端口号server.port=8082#修改上下文...

2020-01-01 19:22:31 143

原创 Spring Boot (六)——详解配置文件 application.properties

详解配置文件 application.properties在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml 。虽然 properties 文件比较常见,但是相对于 properties 而言,yaml 更加简洁明了,而且使用的场景也更多,很多开源项目都是使用 yaml 进行配置(例如 Hexo)。除了简洁,yaml 还有另外一个特点,...

2020-01-01 17:38:55 1317

原创 Spring Boot (五)——配置自己的banner

配置自己的banner何为banner呢?直译为横幅,在springboot启动的时候最上方有一个欢迎图标,即为banner,如图:如何自定义一个banner呢?在resource目录底下创建一个banner.txt 文件,添加内容即可:定制自己的图案,可以登录一下网站:http://www.kammerl.de/ascii/AsciiSignature.phphttp://pato...

2020-01-01 16:05:31 145

原创 Spring Boot (四)——理解 Spring Boot 项目中的 parent

理解 Spring Boot 项目中的 parent前面一章讲了Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用: <parent> <groupId>org.springframework.boot</groupId> <artifa...

2020-01-01 15:33:01 377

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除