- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 Spring Boot项目集成Spring Data JPA
本文记录了在一个Spring Boot工程中引入Spring Data JPA后的最基础用法,更详细的介绍可以持续关注。
2024-01-27 01:32:33 438
原创 Spring Data JPA简介
Spring Data JPA 是 Spring Data 项目的一部分,它提供了一种简化的数据访问方式,用于与关系型数据库进行交互。它基于标准,并提供了一套简洁的 API 和注解,使开发人员能够通过简单的 Java 对象来表示数据库表,并通过自动生成的 SQL 语句执行常见的 CRUD 操作。Spring Data JPA 通过封装 JPA 的复杂性,简化了数据访问层的开发工作,使开发人员能够更专注于业务逻辑的实现。
2024-01-22 22:52:02 1749 1
原创 优雅关闭Spring Boot应用
文章目录官方介绍代码测试小结最新的Spring Boot添加了一个新特性 — 优雅停机。官方介绍官方文档地址:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-graceful-shutdown这个机制会有一个超时时间,该超时时间提供一个宽限期,在此宽限期内,现有请求将被允许完成,而新请求将不被允许。 不允许新请求的确切方式因所使用的Web服务器而异。 Jetty,Reactor N
2021-02-24 01:21:33 1108
原创 发布一个spring boot纯洁的quick-start
2024-01-25 升级Spring Boot版本到3.2.2, 文档使用knife4j
2021-02-09 00:38:39 254 1
原创 Spring Boot工程结构
文章目录官方推荐原因探究小结官方推荐在官方文档中, Spring官方建议我们正确使用“default” 包,将Main Application Class放置在“default” 包下。推荐结构如下:com +- example +- myapplication +- Application.java | +- customer | +- Customer.java | +- Customer
2021-01-31 00:52:36 320
原创 第9章 整合前端
通过前面的项目我们已经了解了很多和微服务项目相关的知识点,但是这些服务都没有界面,本章我们将为customer微服务项目添加一个界面,展示个别用户的详情。注意:虽然微服务化后的系统都提倡前后端分离,但是传统的前端模版还是很有用的,本书将在后面对前后端分离进行专门讲解。9.1 认识ThymeleafSpring Boot作为一个快速开发框架,本身对前端模板的支持是很完善的,比如Freemarker、Velocity以及Thymeleaf等。其中Thymeleaf对Html原型的良好支持让它备受开发
2021-01-01 22:56:37 307
原创 第8章 离不开的数据库
目录8.1 集成JdbcTemplate8.2 集成Spring Data JPA8.4 小结前面讲了这么多,都没有涉及到数据的存储。现在的软件系统多多少少都会涉及到数据库的存储。不管做什么,App、web、C/S客户端软件,都需要将涉及到的数据存储起来,一般来说,目前最常用的数据存储方式还是关系型数据库。本章我们就一起来看下在以Spring Boot为基础的项目中,如何方便地操作数据库。Spring Boot应用中访问数据库的方式有多种。常用的有下面几种:JdbcTemplat
2021-01-01 22:53:47 294
原创 第7章 熔断、限流、降级
目录7.1 基础概念7.2 微服务系统中的熔断机制7.3 Spring Cloud Netflix Hystrix7.4 小结7.1 基础概念2020年3月,受疫情影响,美股迎来了4次熔断,为啥要熔断?因为如果不熔断美国股市这个大系统会面临系 统崩溃的风险。以前家里的保险丝有时候会被烧断,现在改成了跳闸,这些都是家庭用电时候触发了家庭电力系统的熔断机制引起的。如果没有这个机制, 随着家里电力负荷的增大,很有可能烧坏电路,引发短路甚至火灾。熔断,是分布式系统中非常重要.
2021-01-01 22:48:45 354
原创 第6章 微服务的大门谁来守
目录6.1 使用Spring Cloud Zuul构建基础网关6.2 Zuul的一些常用配置6.2.1 自定义请求路径6.2.2 配置静态 URL 路由6.2.3 服务超时6.3 过滤器6.4 小结截止目前,我们已经构建了Eureka注册中心,customer和order微服务,并且创建了配置中心,让微服务可以远程获取配置中心的配置项,同时,我们还研究了微服务之间是如何不通过域名来进行服务间调用。本章我们要通过外部来调用微服务,在本章,我们要为我们的微服务系统树起一道大门,使
2021-01-01 22:46:11 248
原创 买卖股票的最佳时机 II
题目:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价.
2021-01-01 01:13:26 209
原创 第5章 微服务之间如何交互
在第3章讲解Eureka时,我们提到了Eureka会保存各个服务的元数据,元数据中包含了各个服务的地址等信息。那么服务之间到底是怎样通过这些信息进行交互的呢?Spring Cloud服务间的调用默认支持两种方式:Ribbon和Feign,具体来说就是使用RestTemplate和FeignClient来调用。不管使用什么方式,本质上都是通过REST接口调用服务的HTTP接口,参数和结果默认都是通过jackson序列化和反序列化的。前面我们已经创建了customer微服务,这里我们再新建一个order
2021-01-01 01:07:50 1442
原创 第4章 微服务太多,配置文件怎么维护
目录4.1 初识分布式配置4.2 Spring Cloud Config4.2.1 Config Server4.2.2 Config Client4.2.3 配置刷新4.3 小结在前面有提到,微服务系统是一种典型的分布式系统,我们会将每个功能都尽可能地拆分一个可独立部署、运行的服务,服务部署完成后,每一次请求的完成,都可能涉及到多个服务的协调作业,面对越来越多的微服务,我们需要有一个东西可以方便地管理配置文件、最好可以在一个地方管理所有微服务的配置,这个就是我们接下来要说的分布
2021-01-01 01:05:09 606
原创 软件开发可以去“外包”
软件行业的外包公司一直是个被大多数诟病的对象。“打酱油”,“二等公民”,“没有团队归属感”,“混日子”等等的词语仿佛就是为了形容外包公司而生的。笔者11年毕业,13年底的时候因为种种不可抗拒的原因,被迫转到了“中软国际”这个外包公司,干到16年,在创业公司待了一年多,后来又因为某种原因,转到了“软通动力”这个外包集团。一直到现在,我仍然服务于软通动力。上面是笔者关于外包公司任职的背景。现在的外包公司,主要分为两类:人力外包和项目外包。人力外包 人力外包就是大多数人对外包公司的运作模式理解,就是外
2021-01-01 00:04:26 991 1
原创 也来聊下Spring Boot开启SSL
这部分的内容在官方文档中有提到。链接在这儿:Configure SSL 。网络上关于Spring Boot开启SSL访问的文章有很多。希望这篇文章能带来一点不一样的。首先,开启SSL访问得有证书,因为是本地访问,那么我们就使用jdk自带的keytool生成一个。PS C:\Program Files\Java\jdk1.8.0_241\bin> .\keytool -genkey -keyalg RSA -keysize 2048 -keystore D:\keystore.jks输入
2020-12-31 01:09:40 1465
原创 开始使用Spring Boot(一)
本篇文章基于官方文档的Using Spring Boot章节。构建方式在文档的开始,下面一段话描述了官方想告诉给我们的东西。This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover
2020-12-31 01:02:18 176 1
原创 如何编写自己的Spring Boot的Starter
Spring Boot官方提供了很多的Starter,每个Starter都有其各自的功能。我们用起来也爽歪歪。同时,我们也可以自定义一些Starter,提供出来给其他人用。本文创建一个及其简单的Starter,这个Starter用来在启动的时候初始化Person对象。首先,去 Spring Initializr 创建一个Spring Boot的项目(Starter仍旧是一个Spring Boot Application),如下图1.图1 创建基础项目创建的过程中不需要.
2020-12-31 01:00:24 559 1
原创 官方的Getting Started
打开官方文档的Getting Started菜单,可以看到如图1所示的页面。图1 Getting Started首页截图其中对这部分做了简单说明。大致意思就是如果你要开始学习Spring Boot或者使用传统的Spring Framework。这个Getting Started部分回答了你的一些基本问题。如:为什么学?如何学?以及一些简单的Spring Boot启动和安装说明。还会引导你创建你的第一个Spring Boot应用程序,再顺带着讨论一些核心的原则。关于Spring.
2020-12-31 00:56:23 627
原创 创建一个基本的Spring Boot应用
Spring Boot项目和传统的Maven项目有什么不同?没有不同。Spring Boot 项目属于Maven项目,当然,也可以通过Gradle构建,本书设计项目主要使用Maven构建,后面会单独开一章专门将Gradle如何构建。创建项目打开网页Spring Initializr,见图1。图一在前面打开的网页中按照图2所示填写,并点击网页底部的GENERATE按钮。我们的第一个项目只需要完成一个简单的rest接口即可,所以上图右侧的dependeci...
2020-12-31 00:51:51 371
原创 如何开始?从文档的最开始讲起
上篇文章大致讲了下Spring Boot是个啥,我们用他可以做什么?本章开始从上篇文章最后提到的文档开始着手,逐渐深入了解Spring Boot。首先,我们整体看下文档首页。图1 Spring Boot文档首页如图1所示,官方将文档分为了图中的几类,我们在开始学习的时候,以The reference documentation consists of the following sections为主,The reference documentation has the followi
2020-12-31 00:41:07 123
原创 初识Spring Boot
Spring Boot到底是什么东西?为什么这几年这么流行?我们都可以用它来做什么?是什么先到它的官网看看,点这里直通官网Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".We take an opinionated view of the Spring platform and third-party libr
2020-12-31 00:35:28 288 4
原创 浅谈敏捷之“人”的影响
敏捷这个词,这些年已经被大家都提的不想再提了。各个公司也都在推行自己的敏捷策略,意在提高团队的工作效率,提高团队产出质量。个人对敏捷有下面的几点看法:快速迭代只是表象, 不断完善才是王道之前在的公司做智能硬件,软件团队采用敏捷方式运作,硬件团队采用传统的流程来。领导的意思是硬件团队需要保持稳定,不需要快速迭代。但是敏捷真的只能用于软件项目么?当然是不。敏捷并不是简单的将大的项目周期拆解成小周期,敏捷的本质应该是一个不断迭代的过程。在一个一个sprint的过程中,让产品一点一点地持续改进
2020-12-31 00:09:03 200
原创 删除排序数组中的重复项
题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,你不需要考虑数组中超出新长度后面的元素。示例2: 给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nu..
2020-12-31 00:05:42 76
原创 第3章 微服务太多,谁来管理
基于构建单个微服务,我们已经可以使用 Spring Boot 编写自己的微服务了。但是在系统微服务化后,我们的服务会越来越多。面对越来越多的微服务,难道真的要让大家一直分开“自生自灭”吗?当然不是,我们可以引入一个大管家——注册中心。在Spring Cloud框架中,我们选择Eureka来担当这个重任。3.1 认识Eureka首先,我们从注册中心产生的必要性来认识下 Eureka。在微服务这个概念流行起来之前,一些分布式架构的系统中就已经有了注册中心这个东西。那么注册中心到底起到了什么作用
2020-12-31 00:02:02 763 3
原创 第1章 微服务初体验
目录1.1 第一次听说1.1.1 什么是微服务1.1.2 为什么要用微服务1.1.3 微服务有不足吗1.2 第一次学习1.2.1 如何选择首次接触的微服务框架1.2.2 怎样才算用到微服务1.2.3 我要朝着什么样的方向学习1.2.4 首次使用,我要注意什么1.3 小结微服务概念这两年越来越火爆,也有公司开始进行微服务项目迁移,很多开发者开始接触微服务开发。本章会介绍一些微服务的基础概念,并且通过一系列的示例逐步接触 Spring Cloud 的各个常用组件,
2020-12-30 23:52:23 387 1
原创 第2章 构建单个微服务
在深入接触微服务之前,首先得知道怎么创建单个微服务工程。2.1 使用Spring Boot构建第一个微服务Spring Boot的设计目标是用来简化新Spring应用的初始搭建以及开发过程。它是建立在Spring标准上的一个抽象层,使用特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot的简单是相对于以前的SpringFramework入门容易,但是要完全掌握,用好Spring Boot,我们还有很长的路要走。下面通过一个简单的例子,我们通过官网提供的网页创建
2020-12-30 23:04:44 338 1
翻译 【翻译】Spring 5 WebFlux入门
1. 概览Spring WebFlux 框架是 Spring 5的一部分,他为 web 应用提供了响应式编程的支持。在本文中,我们将使用响应式注解RestController和WebClient创建一个小的 REST 应用,我们还将研究如何使用Spring Security保护我们的响应式端点。2. Spring WebFlux 框架Spring WebFlux内部使用Project Reactor及其发布者实现 - Flux和Mono。这个新框架支持下面两种编程模型:.
2020-12-30 22:50:51 353
翻译 【翻译】在Spring WebFlux中处理错误
原文链接:http://www.baeldung.com/spring-webflux-errors1. 概览在本教程中,我们通过一个实际的例子来看一下可用于处理Spring WebFlux项目中的错误的各种策略。我们还将指出在哪种情况下使用一种策略会比另外一种好,在本文最后将提供所有源码的下载地址。2. 配置实例上一篇文章 previous article 中已经提到了maven的配置, 并对 Spring Webflux做了简单的介绍。在这个例子中,我们为一个 RE.
2020-12-30 22:46:07 367
先把微服务用起来.pdf
2020-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人