天天看点

整理了Spring I/O 2023最新干货,406个视频(含中文配音)

作者:码农看看

Spring I/O是Spring开发者的技术大会,这里给大家整理了Spring I/O 2023中的优质视频,都是超级干货!

这些视频都是Spring最为前沿的技术介绍与实战应用分享,其中内容包括最前沿的Java版本适配、Spring最新特性、各厂商的实践等超级干货分享,非常适合与时俱进的Spring开发者们学习。

如果您观看英文视频较为吃力,推荐使用Chrome插件“Youtube中文配音”把视频变为中文发音,您可以直接在Chrome插件市场搜索安装使用。插件官网:

Spring I/O 2023

为方便大家快速查找感兴趣的视频,DD给大家整理了所有视频的中文摘要。

您不需要完整的观看视频,就可以大致了解每个视频都在介绍什么,然后再选择想要深入了解的内容去观看即可!

  • Spring I/O 2023 - Keynote (opens new window):这是Spring I/O 2023的主题演讲,是关于Spring Framework和Spring Boot项目的20年周年纪念,重点介绍了基础设施主题的新创新以满足Java空间的需求。同时还介绍了Native image和checkpoint restore gvm的应用、使用服务端无平台平台部署,并介绍了一种新的功能,Spring Cloud Function,它可以将现有的控制器 部署为Azure功能或Amazon Lambda的函数。
  • All your APIs are mine - Secure them now (opens new window):这个视频讲述了 API 安全的重要性,以及黑客如何发现和攻击 API。视频中详细介绍了不同类型的攻击点和防范措施,包括限制访问、加密验证和 serverless GraphQL。建议每个公司都要有一个 API 清单,并对敏感数据使用不同的身份验证和授权级别。
  • Anatomy of a Spring Boot App with Clean Architecture (opens new window):该视频介绍了使用干净的架构构建Spring Boot应用程序的方法,重点介绍了组件分层和依赖注入的方式,同时强调了遵循这些规则的好处,以及如何使应用程序易于维护和扩展。
  • Spring is bootiful but so is your domain (opens new window):本视频讲述了业务和领域知识对于开发人员的重要性,了解业务和领域能够提高开发人员的价值,帮助开发人员更好地理解领域内的规则和思维模式,以及拥有更好的模块化决策。视频介绍了如何更好地组织域概念,并在软件中将其与有界上下文保持一致,以及如何将开发人员与业务进行直接协作,以促进业务数位化过程。
  • Going Native: Fast and Lightweight Spring Boot Applications with GraalVM (opens new window):该视频讲解了使用GraalVM和Spring Boot进行快速和轻量级构建的方法,强调了90镜像的无服务器架构和高性能特性,并介绍了Reflection等动态Java特性的挑战与解决方案。
  • Managing Spring Boot Application Secrets by Badr NASS LAHSEN (opens new window):本视频介绍 Cyber Arc 公司的保密管理产品、PAM 及如何为 Spring Boot 应用程序管理保密信息,以及如何将安全风险转化为业务价值。视频中展示了使用 kubiscan 工具评估 Kubernetes 群集的过程,以及如何在 Spring Boot 应用程序中使用 Cyber Arc 的 SDK 和秘密提供程序来管理机密信息。
  • Spring Framework 6.1: Infrastructure Revisited (opens new window):这个视频介绍了Spring Framework 6.1版本的基础建设的更新,包括虚拟线程和检查点恢复等内容,并且讨论了如何在Spring框架中整合这些新的API和功能,以达到更高的可扩展性和更有效的运行时表现。视频还讨论了在Java生态系统中JDK 21的重要作用和异步任务执行器的改进。
  • Beyond routing Spring Cloud Gateway with style (opens new window):本视频介绍了如何使用Spring Cloud Gateway来定制过滤器,包括如何添加header、处理JWT token、修改响应结果等等;讲解了如何通过自定义转换器来避免重复处理,以及如何在Spring Security中通过指定权限来获取JWT token中的Claim;最后提到了Spring Cloud Gateway正在开发支持MVC的功能。
  • Enterprise Security with Spring Authorization Server 1.0 (opens new window):本视频介绍了Spring Authorization Server 1.0的企业安全及其使用方法,讲解了授权服务器的概念和优缺点,以及如何在Spring Boot中使用Spring Authorization Server来实现授权服务,包括使用自定义的同意页面和JWT密钥,以及实现密钥轮换等。
  • Rapid server side full stack web development with ViewComponents and htmx (opens new window):视频演示了如何使用ViewComponents和htmx进行快速的全栈web开发,通过MVC模式和Thymeleaf和JTE等模板引擎来呈现服务器端渲染,以及使用htmx来创建超媒体驱动应用程序。演示了如何使用Spring Security和JWT进行身份验证和权限管理,以及如何使用Alpine.js创建交互式前端行为。同时,提出了多页面应用程序的Simplicity可能最适合大多数网站,而单页面应用程序的complexity应该在正确的权衡分析之后才能选择。
  • Preparing web applications for Loom (opens new window):本视频介绍了Mark Thomas在Spring I/O 2023上为Loom准备Web应用程序的过程,包括历史背景、线程问题等,以及对虚拟线程性能和应用的讨论。视频还设置了三个问题:对吞吐量的影响、易用性和gc内存占用的影响,让用户更好地了解虚拟线程对Web应用程序的改进。
  • Dynamic OpenAPIs with Spring Cloud Gateway (opens new window):这个视频介绍了使用Spring Cloud Gateway和OpenAPI的动态API,同时提供了配置的例子和代码演示。介绍了API网关的作用和Spring Cloud Gateway的基础知识。视频还以动态代码的形式展示了如何轻松地将服务公开并重写端点。
  • What's new in Spring Batch 5 (opens new window):本视频为Spring Batch 5的介绍,包含了提供的新特性、移除的API及更新的依赖库等。Spring Batch 5是一个重大的版本发布,包括了更改的Java最小版本和提供的自动配置特性。同时,视频还介绍了支持政策和快速启动等方面的内容。
  • Debugging applications with IntelliJ IDEA (opens new window):该视频介绍了如何在IntelliJ IDEA中调试应用程序。
  • Building Spring Boot based modular libraries for 120 teams our findings (opens new window):本视频介绍了英国线上超市Ocado的技术,以及如何建立基于Spring Boot的模块化库,服务于120多个团队,并分享了相关经验和发现。讨论了与社区合作的软件设计和工程实践,包括模块化、可配置性和可扩展性等技术方面。总结了团队与社区合作的重要性和取得的收获。
  • The Aggregate is dead. Long live the Aggregate! (opens new window):本视频探讨了领域事件设计中的Aggregate概念的弱点和复杂性,并提出了一种基于事件流和动态建模的新思路,从而更好地处理命令模型和并发控制。同时提到,Aggregate的定义模糊,不适合讲故事和混淆了技术和业务方面,而事件流和纯粹事件的解决方案可以提高性能和可维护性。
  • Automating away bugs with Error Prone in practice (opens new window):本视频讲述了如何使用 Error Prone 工具自动化地检查和修复代码中的 bug 和反模式,以及如何在团队中推广使用 Error Prone。该工具不仅可以应用于常见的编码规范和代码风格问题,还可以帮助团队在代码库中大规模地发现并解决一些隐匿的问题。最终,作者分享了在旁人的帮助下实现该工具推广的经验和建议。
  • Live Hacking Cloud Architectures (opens new window):该视频主要介绍了如何在云架构中进行实时黑客攻击,以及企业云系统可能面临的安全问题,同时提供了建议,如线程建模、渗透测试和应用架构安全等,以及如何保护云系统免受攻击,包括使用最小特权原则和应用服务间的安全原则。
  • Mastering GC: tame the beast and make it your best ally (opens new window):本视频主要介绍了如何选择和调整适合你的工作负载的垃圾回收算法,包括常用的LGC、G1、ZGC等,以及如何使用目标暂停时间来调整G1,如何使用Pacer来避免分配工作过多而导致GC停顿,如何在遇到OOM或GC风暴等问题时采取应对措施,以及如何合理地规划堆内存大小和核心数量等。建议遇到生产问题时尝试其他的GC算法。
  • Observability of Your Application by Marcin Grzejszczak (opens new window):本视频以Spring I/O 2023为会议背景,介绍了应用可观测性、日志追踪、Open Zipkin、Brave和Open Telemetry等主题,同时展示了相关技术的实际应用和调试方法,并回答了相关问题。
  • Securing the Service to Service Call Chain Patterns and Protocols (opens new window):本视频介绍了解决服务到服务的身份验证问题的几种不同方法,包括使用TLS证书,使用JWT和使用OAuth 2.0.,同时也介绍了利用Spring生态系统中的API网关、授权服务器和其他工具来实现安全性的最佳实践。同时介绍了身份文档不应包含权限信息的理论,并建议使用平台注入的身份策略获得更高的安全性。
  • Action Jackson! Effective JSON processing in Spring Boot Applications (opens new window):本视频介绍使用Jackson库在Spring Boot应用程序中高效处理JSON,包括默认配置、自定义行为、使用参数名称模块代替@JsonProperty,以及使用Map和JsonPath进行对象(反)序列化
  • Bootiful Spring Boot 3 (opens new window):该视频演示了如何构建一个使用Spring Boot 3的Web应用程序,包括与数据库交互,数据验证,错误处理和可观测性。介绍了新的声明式Http客户端接口,并将其用于构建GraphQL客户端查询。演示中还提到了一些有趣的Java编程语言的细节和趣闻。
  • Developer Experience with Spring Boot on Kubernetes (opens new window):该视频讲解如何使用Spring Boot在Kubernetes上提高开发者体验,通过使用工具如buildpacks、Tilt和Knative,可以实现快速迭代和减少开发者的认知负荷,同时介绍了Cartographer和Backstage等工具来为开发者提供更好的平台支持。
  • From Spring Native to Spring Boot 3 (opens new window):该视频讲述了Spring Native和Kotlin在Spring生态系统中使用的经验,重点介绍了将应用程序编译成本地图像的技术和优势,包括即时启动,无预热阶段和反射消除。演讲者还分享了有关构建原理和探讨了适用于不同平台的构建方式。
  • Everything new in Spring Security 6 baked with a Spring Boot 3 recipe (opens new window):本视频介绍了Spring Security 6中的更新,演示了从头实现授权服务器的最小版本,并讲解了Spring Security的新特性,如对SpEL表达式的更好支持、全局方法安全性和一些小改进,最终演示了如何使用最新的Spring Security 3.0.0版本创建一个授权服务器。
  • To Java 21 and Beyond! (opens new window):这是关于Java 21和更高版本的讲座,介绍了新的功能,包括记录模式、模式匹配、随机数生成器API更新、虚拟线程、启动优化、命名模式和变量、匿名类和实例主方法等,并探讨了如何更轻松地处理数据和简化Java的入门。
  • Scale your @Controller to zero with AWS Lambda or Azure Function (opens new window):本视频讲解了如何使用AWS Lambda或Azure Function将@Controller扩展到零;介绍了Spring Cloud Function等技术栈以及如何在服务器上扩展一个函数;并介绍了供应商支持的触发功能,以及如何将Spring Web应用程序与AWS Lambda集成。
  • Develop and test your AWS-powered Spring Boot application locally (opens new window):本视频介绍使用LocalStack本地开发测试AWS-powered Spring Boot应用程序的方法,解决AWS开发环境的不佳体验和高成本,以及测试繁琐的问题,并展示了一个基于AWS和LocalStack的应用的演示。
  • Kotlin for Fun for Spring Fans (opens new window):本视频分享了使用 Kotlin 和 Spring 提升开发者体验的方法,包括 Kotlin 的特性和语法,以及 Spring 的优点和使用。通过简单的 Spring 应用展示了 Kotlin 的数据类、作用域函数、扩展属性等特性和语法,让开发者在开发中获得更多的快乐和满足。同时分享了 Gradle 脚本使用 Kotlin 的方法和注意事项。
  • Multitenant Mystery Only Rockers in the Building (opens new window):本视频主要讲解多租户应用程序的实现方法及其可观察性策略,涉及的实现方法包括:共享schema、分离schema和完全独立数据库;可观察性策略包括:在日志信息中添加租户识别符号、在度量中添加租户上下文和在跟踪中标识特定租户。
  • From k9s to OpenTelemetry:A guide to observability for your Spring apps in K8s (opens new window):这个视频讲述了如何实现Kubernetes和Spring Boot的可观察性,介绍了一些工具和技术,如K9s、OpenTelemetry、Sidecar模式和数据面代理,用于监控、调试和可视化应用程序和集群的运行。演示了如何在Jaeger中查看Trace信息,以及如何使用Spring Cloud Sleuth配置组件和OpenTelemetry Java Agent实现可观察性。
  • Bootiful workload orchestration with Hashicorp Nomad (opens new window):该视频介绍了使用Hashicorp Nomad实现工作负载编排,Nomad是一个更简单的替代Kubernetes的工具,适用于不需要Kubernetes强大功能的应用程序和工具,具备自动调度、自愈能力、容器工作载等核心块。与Kubernetes相比,Nomad的部署更简单,只需通过一个单一二进制文件Nomad完成代理服务器和客户端的部署,而且可以使用配置文件快速部署在您的本地计算机。
  • Hidden gems and traps that you probably didn't think of using Event Sourcing (opens new window):该视频介绍了事件溯源的优点、适用场景和具体实现方式,并探讨了分布式系统的复杂性和如何排除错误。使用事件溯源可以保证系统的可信性,同时也有利于历史审计、故障排除和性能提升。需要存储大量事件时,可以使用快照等技术来优化性能。
  • Observing Spring for GraphQL in Action (opens new window):本次演讲主要介绍了Spring framework团队在GraphQL技术上的贡献,展示了GraphQL的基本概念和其对Spring应用程序开发的积极影响,并通过一个应用展示了Spring和GraphQL的优势与适用性,同时也介绍了一些关于GraphQL的高级特性和优化方法。
  • REST next level: Crafting domain-driven web APIs (opens new window):该视频介绍了如何通过REST API实现领域驱动的Web API,包括解决REST API的四个问题、领域设计中的封装、及通过Hypermedia API链接实现API工作流程的展示,从而减少开发者的认知负担和降低前后端的耦合。视频中使用实际的铁路预订系统演示了如何实现REST API的领域驱动设计,旨在帮助开发者创造有效和丰富的Web API。
  • Spring Boot in a Polyglot Cloud-Native World with Dapr (opens new window):本视频展示了Spring Boot在多语言云原生世界中如何使用Dapr,包括用Docker和Kubernetes容器化及部署应用程序、使用Spring Boot、Dapr和Redis创建发布/订阅模型等内容。
  • Progressive Delivery in the Kubernetes era (opens new window):本视频介绍了 Kubernetes 环境下的渐进式交付,包括蓝绿部署、智能金丝雀发布等交付技术,以及如何在 Kubernetes 中实现它们,通过使用 Istio 实现服务网格,同时提供了可观测性和遥测,还可以在服务之间配置安全。
  • Things I Wish I Knew When I Started Testing Spring Boot Applications (opens new window):这个视频介绍了使用Spring Boot进行测试时一些需要注意的事项,包括测试的基础知识、Spring Boot Starter Test的使用、Spring Boot Test Annotation的使用等,最后还提到了JUnit 4和JUnit 5的区别和注意事项。
  • Build resilient systems with Spring Cloud Contract and Testcontainers (opens new window):本视频介绍了使用Spring Cloud Contract和Testcontainers创建弹性系统,并演示了如何处理合同测试和使用Spring Cloud Contract和Testcontainers库的示例项目,以验证和生成程序步骤。此外,还展示了Kafka服务器和消息代理的设置和解释了Contracts和Schemas的区别。
  • Do you really need Hibernate (opens new window):本视频介绍了Java持久化框架Hibernate的代替品ZooKeeper和Spring Data JDBC,并比较了它们的差异,重点在于ZooKeeper使用了Json功能从数据库中提取数据,提供了类型安全和编译时检查的好处,而不需要像Hibernate一样使用字符串库。同时,该视频还探讨了如何使用测试容器(test containers)在微服务中进行集成测试。
  • Architecturally evident Spring applications with jMolecules (opens new window):本视频介绍了如何使用J molecules描述应用程序的设计概念,包括Tactical模式、聚合体、事件、CQS注释等,并展示了如何与Spring和Spring Boot集成。通过使用这些注释和接口,可以实现对架构的验证、生成模型图等。视频还介绍了IntelliJ和Eclipse IDE插件,可充分利用这些概念。
  • Empower your Spring Applications with Python Features on GraalVM (opens new window):本视频介绍了如何使用Coral VM的Polyglot功能,让Spring应用程序具备Python特性,使用Python和numpy进行数据处理;同时展示了如何将Python代码与Java混用;并介绍了如何在现有的Spring Boot应用上使用Python。
  • The Easy Way to Run and Scale Spring Apps on Cloud (opens new window):视频中介绍了如何在Azure Spring Cloud上运行和扩展Spring应用程序的最简单方法,其中包括Azure Spring Apps和Azure Spring Apps Enterprise two种服务,并发布了新的标准“使用”和专用计划。演示了如何使用云本地构建包进行构建和部署,并展示了与Spring Cloud Gateway、Eureka、Zipkin等Tanzu组件的集成和配置方法。
  • Testing with Spring, AOT, GraalVM, and JUnit 5 (opens new window):该视频介绍了如何使用Spring、AOT、GraalVM和JUnit5进行测试,讲解了最近版本的Jupiter 5.9和5.11更新,并且介绍了上下文运行时提示、定制类加载器、运行时提示等功能。同时,还介绍了如何在IDE中调试AOT模式下的测试以及如何使用构建工具生成AOT测试源码。

由于这里推文不能放外部超链接,所以上面这些视频的链接都我都放在了下面这个页面中,建议收藏下面这个链接,随时查找,并且点击视频标题就可以跳转到对应视频,使用会更加方便: