自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 使用QUARKUS开发JSON REST 服务

使用QUARKUS开发JSON REST 服务1. 概述目前JSON已经成为微服务之间常用的通讯协议,在本文中,我们将了解如何让REST服务消费和生成JSON报文消息在开始前,我们需要准备一些基础组件:一个你熟悉的IDE ,如:Eclipse , IDEAJDK 1.8+ ,并且正确设置了JAVA_HOMEApache Maven 3.6.2+2. 创建项目2.1 使用Maven创建项目我们可以使用Maven原型创建新项目,执行如下命令:mvn io.quarkus:quarkus

2020-12-22 17:31:29 1757

原创 云原生应用开发框架Quarkus介绍

云原生应用开发框架Quarkus介绍1. 概述Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈Kubernetes云原生Java框架,用于专门针对容器优化的Java开发框架,并使其成为 serverless、cloud和Kubernetes环境下的高效开发平台Quarkus 可与常用Java标准、框架和库协同工作,例如:Eclipse MicroProfile、Spring、Apache Kafka、RESTEasy (JAX-RS)、Hibernate ORM (JPA)

2020-12-21 15:14:48 2153

原创 Quarkus 和 GraalVM 开发云原生应用入门

Quarkus 和 GraalVM 开发云原生应用入门1. 概述现在,为云原生编写应用程序并将其部署到云上而不用担心基础设施已经成为现代应用程序主流开发模式。Serverless和FaaS已经变得非常流行。在云环境中,应用实例经常被创建和销毁,启动时间和首次请求时间变得非常重要,影响用户体验。JavaScript和Python等语言在Serverless和FaaS应用中取得了先机。由于Java的fat.jar打包模式和较长的启动时间导致java开发的云原生应用启动慢占用内存多的不足在本文中,我们将

2020-12-16 16:44:30 1379

原创 结合Spring Boot 对云原生 12-factors 最佳实践理解

结合Spring Boot 对云原生 12-factors 最佳实践理解1. 概述12-factors是一套构建云原生应用程序的指导原则。对于云原生应用,指的是一个跨环境可移植、易于更新、可伸缩到足以利用云的弹性能力的应用程序。12-factors包含了管理配置数据、抽象库依赖关系和后台服务、日志流和管理的最佳实践。目前的大部分开发框架在设计上已经遵循了其中的许多原则,而在容器内运行应用程序则支持其中的一些原则Spring Boot是构建微服务应用程序的主流框架。在本文中,我们将介绍Spring

2020-12-14 17:14:54 445

翻译 云原生12-factors中文

云原生12-factors中文1. 基准代码一份基准代码(Codebase),多份部署(deploy)12-Factor应用(译者注:应该是说一个使用本文概念来设计的应用,下同)通常会使用版本控制系统加以管理,如Git, Mercurial, Subversion。一份用来跟踪代码所有修订版本的数据库被称作 代码库(code repository, code repo, repo)。在类似 SVN 这样的集中式版本控制系统中,基准代码 就是指控制系统中的这一份代码库;而在 Git 那样的分布式版

2020-12-14 11:37:12 207

原创 如何在Maven打包过程停止执行单元测试

如何在Maven打包过程停止执行单元测试1. 概述通常跳过单元测试是一个坏的开发习惯。然而,在某些情况下也有例外情况;可能是当我们在开发新代码并希望运行测试无法通过或无法编译的中间构建时。仅在这些情况下,我们可以跳过测试,以避免编译和运行它们的开销。当然,考虑到不运行测试会导致隐藏的程序BUG在开发过程中不被发现在本文中,我们将介绍使用Maven跳过测试的各种命令和参数2. Maven Lifecycle 生命周期中如何跳过单元测试在讨论如何跳过测试的细节之前,我们必须了解测试是在什么时候编译或

2020-12-13 16:53:02 1141

原创 如何控制Selenium页面加载策略

如何控制Selenium页面加载策略1. 概述默认情况下,当Selenium WebDriver加载一个页面时,它遵循正常的页面加载策略。通常如果当页面加载花费大量时间时,可能是应为加载了很多外部资源(如图像、css) , 如果想提高测试效率可以让WebDriver在不需要等待所有资源加载完成后就开始执行测试脚本以提高测试效率。文档对象的 document.readyState 属性描述当前文档的加载状态;默认情况下,WebDriver会在调用driver.get()或者driver.navigati

2020-12-10 14:37:58 2249

原创 如何对 Spring JdbcTemplate做单元测试

如何对 Spring JdbcTemplate做单元测试1. 概述Spring JdbcTemplate是一个功能强大的工具,可以让开发人员专注于编写SQL查询和更新数据。它连接到后端数据库并直接执行SQL查询。我们可以使用集成测试来确保能够正确地从数据库中提取数据。此外,我们还可以编写单元测试来检查相关功能的正确性2. 使用JdbcTemplate 执行查询操作首先,让我们从一个使用JdbcTemplate的数据访问对象(DAO)类开始:public class EmployeeDAO {

2020-12-08 14:35:25 1955

原创 如何在Spring Boot中实现自定义健康检查

如何在Spring Boot中实现自定义健康检查1. 概述Spring Boot提供了几种不同的方法来检查运行中的应用程序及其组件的状态和运行状况。在这些方法中,HealthContributor和HealthIndicator是两个主要的实现工具类在本文中,我们将熟悉这些API,了解它们是如何工作的,并了解如何为它们提供定制的健康检查状态实现2. Maven依赖程序健康信息检查模块是Spring Boot actuator模块的一部分,我们需要在POM.xml中加入依赖项:<depend

2020-12-03 18:50:56 4086

原创 Spring Boot中 的Component组件扫描原理和运用

Spring Boot中 的Component组件扫描原理和运用1. 概述在本文中,我们将介绍Spring组件扫描以及如何使用它。本文的所有示例使用Spring Boot来实现2. 什么是组件扫描为了实现依赖项注入,Spring创建了一个应用程序上下文在启动期间,Spring实例化对象并将其添加到应用程序上下文中。应用程序上下文中的对象称为Spring bean或组件。Spring解析Spring bean之间的依赖关系,并将Spring bean注入到其他Spring bean的字段或构造函数

2020-12-02 11:37:49 4240 1

原创 Kuma是什么? Kuma1.0 GA 发布了包含70+新特性和改进

Kuma是什么? Kuma1.0 GA 发布了包含70+新特性和改进2020年11月17日 Kuma 1.0 GA 发布了,这是一个可以在生产环境中使用和部署的版本,可以运行在多个集群、云(包括Kubernetes和基于VM虚拟机)上;为应用程序创建先进的分布式服务网格(service meshes)1. Kuma 是什么Kuma是一个与平台无关的开源服务网格和微服务控制平台。它可以在Kubernetes和VM虚拟机环境中运行和操作,这样在云环境和非云环境都可以使用Kuma来构建服务网络Kuma是

2020-12-01 17:58:48 1231 2

原创 如何集成Vert.x到Spring框架中

如何集成Vert.x到Spring框架中1. 概述在本中,我们将讨论Spring与Vertx的集成,并利用两个框架各自的优点:强大的Spring整合特性,以及来自Vert.x的reactive single-event loop特性2. Maven依赖首先添加相关依赖到pom.xml文件中<dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

2020-12-01 10:22:54 1820

原创 Spring,Spring Boot中使用MyBatis简单教程

Spring,Spring Boot中使用MyBatis简单教程1. 概述MyBatis是Java应用程序中实现SQL数据库访问最常用的开源框架之一。在这个快速教程中,我们将介绍如何将MyBatis与Spring和Spring Boot集成2. 定义数据库模型首先,让我们从定义简单的POJO开始,我们将在下文使用它:public class Article { private Long id; private String title; private String au

2020-11-30 17:26:21 380

原创 如何设置Docker容器的CPU和内存使用限制

如何设置Docker容器的CPU和内存使用限制1. 概述在很多情况下,我们需要限制docker主机上资源的使用。在本教程中,我们将学习如何设置docker容器的内存和CPU限制2. 通过docker run来限制Docker容器资源我们可以使用docker run命令直接设置资源限制。这是一个简单的办法。但是,该限制于只适用于映像的一次特定执行任务2.1 Memory 内存限制例如,让我们将容器可以使用的内存限制为512mbdocker run -m 512m nginx我们还可以设置一

2020-11-30 13:12:23 15102

原创 如何访问Docker容器中的Spring Boot日志

如何访问Docker容器中的Spring Boot日志1. 概述在本文中,我们将演示如何在Docker容器中访问Spring Boot日志,从本地开发环境到多容器解情况2. Console 控制台日志输出首先构造我们的Spring BootDocker image ,使用如下命令:mvn spring-boot:build-image然后,当我们运行的容器的时候,我们可以立即看到STDOUT日志在控制台打印出来:docker run --name=demo-container docker.

2020-11-30 11:46:34 1666 1

翻译 详细的CSS 选择器参考手册

CSS 选择器参考手册1. 概述在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素选择器例子例子描述CSS 版本.class.intro选择 class=“intro” 的所有元素1#id#firstname选择 id=“firstname” 的所有元素。1**选择所有元素。2elementp选择所有 元素。1element,elementdiv,p选择所有 元素和所有 元素。1element elem

2020-11-27 18:29:36 132

原创 如何在JUnit单元测试中测试slf4j-api和logback日志

如何在JUnit单元测试中测试slf4j-api和logback日志1. 概述在本文中,我们将学习如何使用JUnit测试日志记录的生成我们将使用slf4j-api和logback作为日志框架,并创建一个可用于日志断言的自定义appender2. Maven 依赖在开始之前,让我们添加logback依赖项。由于logback本身也实现了slf4j-api接口,log4j也会自动下载到项目中:如果是spring boot 项目,由于默认日志框架是logback则不需要单独下载依赖项depend

2020-11-26 22:11:04 3360

原创 如何在Spring WebClient 中添加 Filters

如何在Spring WebClient 中添加 Filters1. 概述在本文中,我们将讨论Spring WebFlux中的WebClient过滤器,WebFlux是一个功能强大、反应性强的web框架2. Request FiltersRequest Filters过滤器可以拦截、检查和修改客户机请求(或响应)。过滤器非常适合为每个单独的请求添加功能。使用场景包括监视、修改、记录和验证客户机请求一个请求包含由零个或多个过滤器组成的有序链在Spring Reactive中,过滤器是Exchange

2020-11-26 17:13:25 1567

原创 如何使用Apache POI获取Excel文件Cell数据

如何使用Apache POI获取Excel文件Cell数据1. 概述Microsoft Excel的单元格可以有不同的类型,如字符串、数值、布尔值和公式在本文中,我们将展示如何使用Apache POI读取作为字符串的单元格值——无论单元格类型是什么2. Apache POI 依赖项首先,我们需要添加poi依赖到我们的项目pom.xml文件:<dependency> <groupId>org.apache.poi</groupId> <ar

2020-11-26 16:41:43 2175

原创 使用Selenium WebDriver实现截屏操作

使用Selenium WebDriver实现截屏操作1. 概述在使用Selenium进行自动化测试时,我们经常需要截取web页面或web页面的一部分的屏幕截图。这可能很有用,特别是在调试测试失败或验证我们的应用程序行为在不同浏览器之间是否一致时。在本文中,我们将从JUnit测试中了解几种使用Selenium WebDriver捕捉屏幕截图的方法。要了解更多关于Selenium测试的信息,请查看Selenium指南2. 初始化配置首先,添加Selenium依赖项到pom.xml文件中:depend

2020-11-24 23:10:32 1725

原创 使用Apache POI读写Excel文件

使用Apache POI读写Excel文件1. 概述在本文中,我们将演示如何使用Apache POI api对Excel电子表格的读写操作2. Maven 依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version></depend

2020-11-24 17:16:52 773

原创 如何使用Apache POI设置Excel的公式字段

如何使用Apache POI设置Excel的公式字段1. 概述在本文中,我们将通过一个简单的示例来演示如何使用Apache POI在Microsoft Excel电子表格中设置公式字段2. Apache POIApache POI是一个流行的开源Java库,它提供了用于创建、修改和显示MS Office文件的apiPOI使用工作簿Workbook来表示Excel文件及其元素。Excel文件中的单元格Cell可以有不同类型,比如FORMULA。为了演示Apache POI的实际操作,我们将设置一个

2020-11-24 11:08:43 3987 1

原创 Selenium 使用教程

Selenium 使用教程1. 概述本文介绍了如何使用Selenium和JUnit来抓取页面信息2. Selenium 集成在下面,我们将从一个简单的场景开始:打开一个浏览器窗口,导航到一个给定的URL并在页面中寻找一些所需的内容2.1 Maven 依赖在pom.xml文件中,添加以下依赖项:<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>se

2020-11-20 17:27:02 1280

原创 如何使用 Spring WebClient 并发请求HTTP服务提高系统性能

如何使用 Spring WebClient 并发请求HTTP提高系统性能1. 概述通常,在应用程序中发出HTTP请求时,大部分HttpClient是按顺序执行这些调用。但是,在某些情况下为了提高性能,我们可能需要同时执行这些请求。在本文中,我们将研究几种方法,以了解如何通过使用Spring reactive WebClient进行并行服务调用来完成此任务。2. 回顾一下反应式编程快速回顾一下,WebClient是在Spring 5中引入的,并包含在Spring Web响应模块中。它为发送HTTP请

2020-11-19 10:57:53 2673

原创 如何对Spring boot WebClient做单元测试

如何对Spring boot WebClient做单元测试1.概述在Spring boot 推出WebClient客户端后,由于具有强大的异步执行能力和性能优势逐步替换SpringRestTemplate。在下面的介绍中,我们将了解如何对使用WebClient调用API的服务进行单元测试。2. Mocking我们的测试中有两个主要的Mocking方式:使用Mockito来模拟WebClient的行为使用实际WebClient客户端发起请求,通过使用MockWebServer (okhttp)

2020-11-18 18:05:27 1359

原创 Spring 5 WebClient 详细使用教程

Spring 5 WebClient 详细使用教程1. 概述在本文中,我们将研究WebClient,它是Spring5中引入的响应式web客户端类库,最大特点是支持异步调用;我们还将学习WebTestClient,用于单元测试。简单地说,WebClient是一个接口,执行web请求的主要入口点。它是Spring Web Reactive模块的一部分,并且取代经典的RestTemplate而生。此外,新的客户端是一个响应式的、非阻塞的技术方案,可以在HTTP/1.1协议上工作。该接口有一个实现,即D

2020-11-17 16:35:55 5497 1

原创 使用Jsoup来解析HTML

使用Jsoup来解析HTML1. 概要Jsoup是一个开源Java库,主要用于从HTML提取数据。允许您操作和输出HTML,它有稳定的开发线、优秀的文档和流畅灵活的API,Jsoup还可以用于解析和构建XML。在本教程中,我们将使用Spring博客演示一个抓取案例,它演示了jsoup的几个特性:加载:抓取和解析HTML到一个文档筛选:选择所需的数据到元素中并遍历它提取:获取节点的属性、文本和HTML修改:添加/编辑/删除节点并编辑它们的属性2. Maven 依赖Jsoup Maven

2020-11-17 16:08:20 3243

原创 分布式高并发系统设计检查列表

分布式高并发系统设计检查列表这个检查表包含的内容是在设计阶段必须考虑的,并且在开始实现之前必须验证通用检查以下检查项是所有微服务都必须满足的一般架构检查| 检查项描述无状态服务所有持久性数据都存储在容器外部部署顺序服务启动不应该有顺序数据拥有权只有数据维护服务才能直接访问数据,避免多个服务管理同一份数据安全检查如果安全性较低,客户和公司数据将被盗或伪造(数据泄露)检查项描述身份验证服务受验证服务的保护授权访问被限制到适当的

2020-11-14 23:38:05 117

原创 测试用例编写入门

测试用例编写入门编写一个清晰、简洁的手工测试用例是质量保证的重要组成部分。当手动测试人员在基于手动测试数据库中运行测试用例时,你可以做很多事情来确保测试人员有简单的步骤可以遵循。另外,我们编写的大量测试包含“功能测试”,这意味着重点在于检查功能如何工作。手动测试的一部分是确认现有的功能如预期的那样工作。当我们继续开发我们的产品时,我们可能会偶尔破坏某些功能,而手工测试的目的是“检查”一切都按预期工作。编写测试用例的总体注意事项措辞要简明使这些步骤易于遵循必要时进行描述性描述不要拘泥于术语有一

2020-11-14 23:33:57 276

原创 Spring Boot中正确使用Log的详细总结

Spring Boot中正确使用Log的详细总结1. 概要在本文中我们将总结Spring Boot中可用的主要日志框架的使用和配置。Spring Boot内部模块都使用Commons Logging来记录日志,但是底层日志框架是可以替换的,支持的日志框架有:Java Util Logging 、Log4J2和Logback并为上述框架提供了默认配置。在默认情况下,日志记录器都预先配置为使用控制台输出,同时还提供可选的文件输出。通常,当项目中使用Spring boot Starters 时,Logba

2020-11-13 18:02:09 12699

原创 GraphQL 最全的基本概念和语言入门

GraphQL 入门指南1.概要GraphQL是一种查询语言,由Facebook创建,目的是基于直观和灵活的语法构建客户端应用程序,用于描述其数据需求和交互。传统REST方式的主要挑战之一是客户机无法请求一组定制的(有限的或扩展的)数据。在大多数情况下,一旦客户端从服务器请求信息,它要么获取全部字段,要么不获取。另一个困难是处理和维护多个API端点。随着平台的发展,API数量也会随之增加。因此,客户经常需要从不同的API端点请求数据。在构建GraphQL服务器后,客户端只需要一个URL来获取和修改

2020-11-10 14:29:17 1402

原创 DevOps 成熟度评估框架

DevOps 成熟度评估框架如何使用本框架第一步是自我检查,对产品团队的当前状态进行自我评估。在下一个改进周期结束时确定目标(制定KPI),一个周期可以是一个月,一个季度;每个团队都可以定义他们的改进周期,一般一个好的开始是设定季度目标,以便能够定义有实际意义的改进。确定你需要的改进计划,以达到预期的目标。开发能力低中高对所有生产构件使用版本控制没有版本控制源代码/部分文档有使用版本控制源代码/文档,所有产品相关的构件产出物都使用版本控制自动

2020-11-10 11:57:15 888

原创 在Spring Boot中构建自定义Auto-Configuration配置类

在Spring Boot中构建自定义Auto-Configuration配置类1. 概述Spring Boot为自动装配Bean提供了很好的机制,基于类路径上是否存在依赖项自动配置Spring应用程序的方法,使开发变得更快更容易。接下来,我们将介绍如何创建自定义Auto-Configuration配置2. Maven 依赖我们首先要在项目中增加依赖类<dependency> <groupId>org.springframework.boot</groupId

2020-11-10 10:31:04 2554

原创 Docker Compose 入门参考

Docker Compose 入门参考1.概述Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用一个YAML文件来配置应用服务。然后,使用一个命令,你就可以从你的配置中创建并启动所有的服务。Compose 在软件所有研发阶段都可以使用:生产环境、阶段验证,开发环境,测试,包括CI持续集成工作流程中。使用Compose基本上有三个步骤:1.用Dockerfile定义应用程序的环境,这样它就可以在任何地方部署2.在docker-compose.yml

2020-11-09 14:13:21 174

原创 如何让java程序执行一段时间后停止

如何让java程序执行一段时间后停止1、概述在本文中,我们将学习如何在一段时间后结束长时间运行的任务。我们将探讨这个问题的各种解决方案。此外,还将介绍各种方案缺点。2、使用循环假设我们在一个循环中处理一组数据,比如电子商务应用程序中循环获取产品项的一些信息,但可能没有必要完成所有项的处理。实际上,我们希望只处理某一特定时间之前的内容,在此之后,我们希望停止执行,并显示列表在此时间之前处理的内容。代码例子如下: long start = System.currentTimeMillis()

2020-11-09 14:08:46 8518

原创 如何在Spring Boot中不启动Web Server

如何在Spring Boot中不启动Web Server1.介绍Spring Boot是一个用于为各种应用快速创建新的Java应用程序的优秀框架。最流行的用途之一是作为web服务器。但是,Spring Boot有许多不需要web服务器的场景:控制台应用程序、作业调度、批处理或流处理、无服务器应用程序等等。在本教程中,我们将介绍几种不用web服务器就可以使用Spring Boot的不同方法。2.依赖管理防止Spring引导应用程序启动嵌入式web服务器的最简单方法是不将web服务器启动器包含在我们的

2020-11-09 14:02:04 6312

原创 使用SpringBoot构建Docker Image

使用SpringBoot构建Docker Image1.介绍随着越来越多的开发人员转向容器和云原生的开发方式,Docker正在成为软件开发工作流中越来越重要的一部分。为此,Spring Boot 2.3中的一个最大的新特性是能够轻松地为Spring Boot应用程序创建Docker映像。在本文中,我们将了解如何为Spring引导应用程序创建Docker镜像。2.Docker Image 传统构建镜像方式使用Spring Boot构建Docker映像的传统方法是使用Dockerfile。下面是一个简

2020-11-09 13:58:49 1205

原创 如何把SpringBoot工程打包成不可执行的Jar包

如何把SpringBoot工程打包成不可执行的Jar包1.概述在本文中,我们将学到如何使用Spring Boot应用程序作为另一个项目的依赖项,而非独立的执行程序2.Spring Boot 打包Spring Boot Maven和Gradle打包插件都将我们的应用程序打包为可执行的jar文件,这样的文件不能在其他项目中使用,因为启动类文件被放在BOOT-INF/classes中。为了与另一个项目共享类,最好的方法是创建一个包含共享类的单独jar,然后使其成为依赖于这些类的所有模块的依赖项。我们可

2020-11-09 13:56:18 1118

原创 Spring Boot中的配置文件使用以及重新加载

Spring Boot中的配置文件使用以及重新加载概要本教程将展示如何通过Java configuration和@PropertySource或XML和property-placeholder在Spring中设置和使用属性通过Java Annotations注册配置文件Spring 3.1起引入了新的@PropertySource注释,作为向环境中添加属性源的方便机制。该注释将与基于java的配置和@Configuration注释一起使用:@Configuration@PropertySour

2020-11-09 13:51:57 7202

原创 如何开发自定义Spring Boot Starter

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-11-09 12:55:31 219 1

空空如也

空空如也

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

TA关注的人

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