自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

纯洁的微笑

万事皆因忙中错,好人半自苦中来

原创 离开北京1年了,和大家简单聊2句...

我是2013年开启北漂的。去的那天正好是清明节,因为没有钱做的是晚上的硬座,旁边两个女孩聊了一晚上,都不想错过任何机会。到北京后是早上7点,那时候我还没有坐过地铁,因为拿着大包小包不方便...

2020-09-29 12:12:00 143 0

原创 华为鸿蒙背后:中国首个自己的开源基金会来了!

该来的,终究还是来了!1开源基金会在上一次华为宣布鸿蒙2.0发布的时候,我写过一篇文章《华为鸿蒙,告别 PPT,代码全部开源!》。文章中提到一个点,不知道大家有没有注意:华为余承东现场宣...

2020-09-28 12:12:00 1508 0

转载 我,北漂5年程序员,终于在帝都全款买房。

本文原创公众号:不会笑青年,授权转载请联系微信(laughyouth369),授权后,请在原创发表48小时后再转载。< END >作者:不会笑青年漫画师:鹦鹉这两天一直流行秋...

2020-09-27 12:12:00 176 1

原创 罗永浩,是条汉子!人民法院报:真还钱了...

喜剧的内核是悲剧...如果不了解罗永浩,建议先阅读深度解说《锤子卖身!罗永浩:草莽英雄还是闹剧小丑?》14个小目标我是一个喜欢笑的人,而且是大笑。所以我也特别喜欢看各种喜剧,或者综艺节目...

2020-09-26 12:12:00 320 0

转载 “科班出身”的程序员和“培训出身”的程序员的大型辩论(甩锅)现场

每天早上七点三十,准时推送干货前几天阿粉说阿粉最近换了公司,而且入职之后干掉了公司里面的测试数据库的事情,而接下来的事就比较有意思了,来自“科班出身”的哥们和来自“培训出身”的我的大型辩...

2020-09-24 12:12:00 135 0

原创 微盟程序员删库跑路,被判刑六年!

大家还记得今年年初,微盟“删库跑路”事件吗?1冲动删库微盟那次删库事件,也许是国内删库最严重的事故之一,当天直接造成公司市值损失近10亿,影响超过300万商户。事件详细过程,当时也给大家...

2020-09-23 12:12:00 13394 17

原创 开篇词:为什么要学 Spring Boot

大家好,我是纯洁的微笑,从 2013 年到现在,我一直从业于第三方支付和互联网金融这两个领域。在互联网金融公司工作期间,从零参与了公司技术平台建设,随着公司业务不断发展,组织技术团队对平台进行过四次大架构升级,从最初单体架构发展到最后的微服务架构,我也从一个一线开发人员成长为互联网金融公司的技术负...

2020-09-22 12:12:32 151 0

原创 第 1-1 课:Spring Boot 产生的背景和它的设计理念

《精通 Spring Boot 42 讲》共分五大部分,第一部分是从零起步的基础内容,共4课,帮助大家快速认识 Spring Boot ,我会带领大家熟悉 Spring Boot 产生的背景和设计理念,同时也会讲解 Spring Boot 的环境搭建和项目介绍,最后以一个 Hello World ...

2020-09-22 12:12:31 97 0

原创 第 1-2 课:Spring Boot 2.0 都更新了什么(上)

2018 年 3 月 1 号 Spring Boot 2.0.0.RELEASE 正式发布,这是 Spring Boot 1.0 发布 4 年之后第一次重大修订,因此有多新功能和特性值得关注!在 Spring Boot 官方博客中我们了解到:Spring Boot 2.0 版本经历了 17 个月的...

2020-09-22 12:12:29 81 0

原创 第 1-2 课:Spring Boot 2.0 都更新了什么(下)

彩蛋 Spring Boot 2.0 支持了动态 Gif 的启动 Logo 打印。 在 Spring Boot 1.0 项目中 src/main/resources 路径下新建一个 banner.txt 文件,文件中写入一些字符,启动项目时就会发现默认的 Banner 被替换了,到了 Spring...

2020-09-22 12:12:28 81 0

原创 第 1-3 课:Spring Boot 依赖环境和项目结构介绍

使用 Spring Boot 开发项目需要有两个基础环境和一个开发工具,这两个环境是指 Java 编译环境和构建工具环境,一个开发工具是指 IDE 开发工具。 Spring Boot 2.0 要求 Java 8 作为最低版本,需要在本机安装 JDK 1.8 并进行环境变量配置,同时需要安装构建工具...

2020-09-22 12:12:26 87 0

原创 第 1-4 课:写一个 Hello World 来感受 Spring Boot

在学习新技术的时候我们都喜欢先写一个 Hello World 程序,一方面可以验证基础环境的搭建是否正确;另一方面可以快速了解整个开发流程。本节课我们就来学习 Spring Boot 的第一个 Hello World 程序。 什么是 Spring Boot Spring 在官方首页是这样介绍的: ...

2020-09-22 12:12:25 94 0

原创 第 2-1 课:Spring Boot 对基础 Web 开发的支持(上)

《精通 Spring Boot 42 讲》共分五大部分,这是第二部分内容,主要讲解了 Web 开发相关的技术点,共 10 课。首先让大家快速认识 Spring Boot 对基础 Web 开发所做的优化;接下来讲解了如何在 Spring Boot 中使用前端技术 JSP、Thymeleaf,重点介绍...

2020-09-22 12:12:23 60 0

原创 第 2-1 课:Spring Boot 对基础 Web 开发的支持(下)

我们接着上一课的内容继续讲解。 数据校验 在很多时候,当我们要处理一个应用程序的业务逻辑时,数据校验是必须要考虑和面对的事情。应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。在 Java 应用程序中,必须要对输入进来的数据从语义上分析是有效的,也就是数据校验。 输入验证是最重要的...

2020-09-22 12:12:22 56 0

原创 第 2-2 课:Spring Boot 项目中使用 JSP

JSP(Java Server Pages,Java 服务器页面)是一个简化的 Servlet 设计,它是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术类似 ASP 技术,它是在传统的网页 HTML(标准通用标记语言的子集)文件(.html...

2020-09-22 12:12:20 64 0

原创 第 2-3 课:模板引擎 Thymeleaf 基础使用

模板引擎 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的 HTML 文档。 模板引擎的实现方式有很多,最简单的是“置换型”模板引擎,这类模板引擎只是将指定模板内容(字符串)中的特定标记(子字符串)替换,便生成了最终需要的业务数...

2020-09-22 12:12:18 71 0

原创 第 2-4 课:模板引擎 Thymeleaf 高阶用法

上一课我们介绍了 Thymeleaf 最常用的使用语法,这一课我们继续学习 Thymeleaf 高阶的使用方式,并对这些使用方式进行总结分类。其实上一课的内容,基本可以满足 Thymeleaf 80% 的使用场景,高阶用法会在某些场景下提供更高效、便捷的使用方式。 内联 [ [ ] ] 如果不想通...

2020-09-22 12:12:17 63 0

原创 第 2-6 课:使用 Spring Boot 和 Thymeleaf 演示上传文件

在互联网行业中上传文件是一个高频的使用场景,常用的案例有上传头像、上传身份证信息等。Spring Boot 利用 MultipartFile 的特性来接收和处理上传的文件,MultipartFile 是 Spring 的一个封装的接口,封装了文件上传的相关操作,利用 MultipartFile 可...

2020-09-22 12:12:15 57 0

原创 第 2-5 课:Thymeleaf 页面布局

页面布局就是对前端的页面进行划分区域,每个区域有不同的职责,布局是为了更好地重复利用前端代码,避免大量重复性的劳动。在现有的前端系统中,页面布局成了前端开发最重要的工作之一,Thymeleaf 在设计之初对页面布局就有考虑,通过 Thymeleaf 的相关语法可以很容易地实现对前端页面布局。 快速...

2020-09-22 12:12:14 56 0

原创 第 2-7 课:使用 Spring Boot 上传文件到 FastDFS

什么是 FastDFS FastDFS 是一个开源的轻量级分布式文件系统,它解决了大数据量存储和负载均衡等问题,特别适合以中小文件(建议范围:4 KB < file_size < 500 MB)为载体的在线服务,如相册网站、视频网站等。在 UC 基于 FastDFS 开发向用户提供了网...

2020-09-22 12:12:13 56 0

原创 第 2-8 课:Spring Boot 构建一个 RESTful Web 服务

现在越来越多的企业推荐使用 RESTful 风格来构建企业的应用接口,那么什么是 RESTful 呢? 什么是 RESTful RESTful 是目前最流行的一种互联网软件架构。REST(Representational State Transfer,表述性状态转移)一词是由 Roy Thomas...

2020-09-22 12:12:11 94 0

原创 第 2-9 课:使用 Swagger 2 构建 RESTful APIs

什么是 Swagger Swagger 是一系列 RESTful API 的工具,通过 Swagger 可以获得项目的一种交互式文档,客户端 SDK 的自动生成等功能。 Swagger 的目标是为 REST APIs 定义一个标准的、与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能...

2020-09-22 12:12:09 60 0

原创 第 2-10 课:使用 Spring Boot WebSocket 创建聊天室

什么是 WebSocket WebSocket 协议是基于 TCP 的一种网络协议,它实现了浏览器与服务器全双工(Full-duplex)通信——允许服务器主动发送信息给客户端。 以前,很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每 1 秒),由浏览器对服务器发出 H...

2020-09-22 12:12:07 59 0

原创 第 3-1 课:Spring Boot 使用 JDBC 操作数据库

《精通 Spring Boot 42 讲》共分五大部分,第三部分主要讲解 Spring Boot 和数据库开发,共 8 课。Spring Boot 支持了主流的 ORM 框架:MyBatis、Hibernate 和 Spring JDBC,几种 ORM 在不同的场景下各有优势,在 Spring B...

2020-09-22 12:12:06 53 0

原创 第 3-2 课:如何优雅地使用 MyBatis XML 配置版

MyBatis 是现如今最流行的 ORM 框架之一,我们先来了解一下什么是 ORM 框架。 ORM 框架 对象关系映射(Object Relational Mapping,ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM 是通过使用描述对象和数据库之间映射...

2020-09-22 12:12:04 45 0

原创 第 3-3 课:如何优雅地使用 MyBatis 注解版

自从 Java 1.5 开始引入了注解,注解便被广泛地应用在了各种开源软件中,使用注解大大地降低了系统中的配置项,让编程变得更为优雅。MyBatis 也顺应潮流基于注解推出了 MyBatis 的注解版本,避免开发过程中频繁切换到 XML 或者 Java 代码中,从而让开发者使用 MyBatis 会...

2020-09-22 12:12:02 43 0

原创 第 3-4 课: Spring Data JPA 的基本使用

Spring Data JPA 是 Spring Boot 体系中约定优于配置的最佳实现,大大简化了项目中数据库的操作。从本课开始将会从 JPA 的由来开始讲解,什么是 JPA、Spring Boot JPA 的实现,以及如何使用。 概念 JPA 由来 ORM 框架能够将 Java 对象映射到关...

2020-09-22 12:12:01 31 0

原创 第 3-5 课:Spring Data JPA 的高级用法

上节课介绍了 Spring Data JPA 的使用方式和基本查询,常用的增、删、改、查需求 Spring Data JPA 已经实现了。但对于复杂的数据库场景,动态生成方法不能满足,对此 Spring Data JPA 提供了其他的解决方案,这就是这节课的主要内容。 自定义 SQL 查询 使用 ...

2020-09-22 12:11:59 37 0

原创 第 3-6 课:Spring Data JPA 多数据源的使用

项目中使用多个数据源在以往工作中比较常见,微服务架构中不建议一个项目使用多个数据源。在微服务架构下,一个微服务拥有自己独立的一个数据库,如果此微服务要使用其他数据库的数据,需要调用对应库的微服务接口来调用,而不是在一个项目中连接使用多个数据库,这样微服务更独立、更容易水平扩展。 虽然在微服务架构下...

2020-09-22 12:11:58 33 0

原创 第 3-7 课:Spring Boot 集成 Druid 监控数据源

Druid 介绍 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成,该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可...

2020-09-22 12:11:56 43 0

原创 第 3-8 课:Spring Data JPA 和 Thymeleaf 综合实践

在前面课程中,我们学习了 Spring Boot Web 开发、JPA 数据库操作、Thymeleaf 和页面交互技术,这节课综合这些内容做一个用户管理功能,包括展示用户列表(分页)、添加用户、修改用户和删除用户。有人说程序员的一生都是在增、删、改、查,这句话不一定全对,但也有一定的道理,相比于这...

2020-09-22 12:11:55 28 0

原创 第 4-1 课:Spring Boot 操作 Memcache

《精通 Spring Boot 42 讲》共分五大部分,第四部分主要讲解 Spring Boot 和中间件的使用,共 10 课,中间件是互联网公司支撑高并发业务的必备组件,常用的组件有缓存、消息中间件、NoSQL 数据库、定时任务等。常用的缓存中间件有 Memcache 和 Redis ,缓存主要...

2020-09-22 12:11:53 32 0

原创 第 4-2 课:Spring Boot 和 Redis 常用操作

Redis 是目前使用最广泛的缓存中间件,相比 Memcached,Redis 支持更多的数据结构和更丰富的数据操作,另外 Redis 有着丰富的集群方案和使用场景,这一课我们一起学习 Redis 的常用操作。 Redis 介绍 Redis 是一个速度非常快的非关系数据库(Non-Relation...

2020-09-22 12:11:51 40 0

原创 第 4-3 课:使用 Redis 实现 Session 共享

在微服务架构中,往往由多个微服务共同支撑前端请求,如果涉及到用户状态就需要考虑分布式 Session 管理问题,比如用户登录请求分发在服务器 A,用户购买请求分发到了服务器 B, 那么服务器就必须可以获取到用户的登录信息,否则就会影响正常交易。因此,在分布式架构或微服务架构下,必须保证一个应用服务...

2020-09-22 12:11:50 36 0

原创 第 4-4 课:Spring Boot 中使用 Cache 缓存的使用

我们知道绝大多数的网站/系统,最先遇到的一个性能瓶颈就是数据库,使用缓存做数据库的前置缓存,可以非常有效地降低数据库的压力,从而提升整个系统的响应效率和并发量。 以往使用缓存时,通常创建好缓存工具类,使用时将对应的工具类注入,操作工具类在前端处理缓存的逻辑。其实这种方式是低效的,大部分使用缓存的场...

2020-09-22 12:11:48 40 0

原创 第 4-5 课:使用 Spring Boot 操作 ActiveMQ

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。 目前在生产环境中使用较多的消息队列有 ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ 等...

2020-09-22 12:11:47 48 0

原创 第 4-6 课:Spring Boot RabbitMQ 详解

RabbitMQ 介绍 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP 的主要特征是面向消息、队列、路由...

2020-09-22 12:11:45 32 0

原创 第 4-7 课:Spring Boot 简单集成 MongoDB

MongoDB 如今是最流行的 NoSQL 数据库,被广泛应用于各行各业中,很多创业公司数据库选型就直接使用了 MongoDB,但对于大部分公司,使用 MongoDB 的场景是做大规模数据查询和离线分析。MongoDB 一经推出就受到了广大社区的热爱,可以说是对程序员最友好的一种数据库,下面我们来...

2020-09-22 12:11:44 29 0

原创 第 4-8 课:Spring Boot 集成 ElasticSearch

ElasticSearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有。 ElasticSearch 使用 Java 编写的,它的内部使用的是 Lucene 做索引与搜...

2020-09-22 12:11:42 41 0

原创 第 4-9 课:Spring Boot 集成 Quartz

在项目开发中,经常需要定时任务来帮助我们来做一些内容,比如定时派息、跑批对账、业务监控等。Spring Boot 体系中现在有两种方案可以选择,第一种是 Spring Boot 内置的方式简单注解就可以使用,当然如果需要更复杂的应用场景还是得 Quartz 上场,Quartz 目前是 Java 体...

2020-09-22 12:11:41 40 0

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