图源:简书 (jianshu.com) Spring 提供一个简单但使用的缓存(Cache)机制,我们可以利用它来优化代码执行效率。 简单示例 老规矩,我们从一个简单示例开始: @Service public class FibonacciService2 { @Clock public long fibonacci(int n) { return doFibonacci(n); } private long doFibonacci(int n) { if (n…
图源:简书 (jianshu.com) Spring 提供一个简单但使用的缓存(Cache)机制,我们可以利用它来优化代码执行效率。 简单示例 老规矩,我们从一个简单示例开始: @Service public class FibonacciService2 { @Clock public long fibonacci(int n) { return doFibonacci(n); } private long doFibonacci(int n) { if (n…
好长时间没用 GreasyFork 了,最近在刷 Spring Boot 的各种知识点,其中很大时间都在学习 baeldung.com 这个站点。不知道是因为最近刷的勤了还是怎么的,这个网站经常会弹出一个“让我关闭广告阻拦插件”的提示框,而且频率越来越频繁。 上 GreasyFork 搜了一圈,没发现这个网站可以使用的油猴脚本。看来又到了自己动手,丰衣足食的时间了。 翻阅教程编写脚本本身倒是没有太花时间,有意思的是在我准备发布这个脚本到 GreasyFork 上造福后人的时候,意外发现脚本管理页面有个从仓库同步的选…
图源:简书 (jianshu.com) 在前文中,我介绍了 Spring Bean 的作用域(Scope),且讨论了将一个短生命周期的 bean (比如request作用域的 bean)注入到长生命周期的 bean (比如singleton作用域的 bean)时所面临的问题,此类问题都需要我们对短生命周期的 bean 通过代理注入来解决。 实际上,即使都是长生命周期的bean,比如singleton作用域和prototype作用域的 bean,注入也存在一些问题。 注入问题 这里用一个示例说明将 prototype…
图源:简书 (jianshu.com) 在前文中我介绍过 FactoryBean,本篇文章会更深入的介绍相关内容。 依赖注入 从一个简单示例开始,我们看使用FactoryBean定义的 Spring Bean 如何注入。 假设我们有以下的几个类: public class Clock { private LocalDateTime time; private int num; private static DateTimeFormatter dateTimeFormatter = DateTime…
图源:简书 (jianshu.com) 本篇文章我们讨论如何在 Spring 项目中编写测试用例。 当前使用的是 Spring 6.0,默认集成 JUnit 5。 依赖 Spring Boot 的测试功能需要以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <…
图源:简书 (jianshu.com) Spring 通过注解实现 DI(依赖注入),本文详细讨论这些注解。 @Autowired @Autowired是 Spring 定义的注解,属于包org.springframework.beans.factory.annotation。 @Autowired匹配 bean 的顺序是: 按类型(type)匹配 按限定符(qualifier)匹配 按名称(name)匹配 @Autowired是最常用的注解,用它可以通过属性注入、Setter注入、构造器注入来实现DI。在前文中讨…
图源:简书 (jianshu.com) 在之前的文章中,我多次介绍过在 Spring 中如何使用@Async注解让方法调用变成“异步执行”: 在这篇文章中,介绍了如何让定时任务使用@Async变成异步执行。 在这篇文章中,介绍了如何让事件监听使用@Async变成异步执行。 下面,本篇文章将详细探讨@Async在 Spring 中的用途。 简单示例 老规矩,我们从一个简单示例开始说明: @Component public class Fibonacci { /** * 返回斐波那契数列的第n位的值 …
图源:简书 (jianshu.com) Spring 实现了一个简单、实用的事件框架,利用它我们可以在多个组件之间进行松耦合式的通信。 简单示例 让我们从一个简单的示例开始: public record Email(String address, String content) { } public class EmailsReceivedEvent extends ApplicationEvent { @Setter @Getter private List<Email> ema…
图源:简书 (jianshu.com) 定时任务是一种很常见的需求,比如我们可能需要应用定期去执行一些清理工作,再比如可能需要定期检查一些外部服务的可用性等。 fixedDelay 要在 Spring 中开启定时任务相关功能,需要在任意的配置类上添加上@EnableScheduling: @Configuration @EnableScheduling public class WebConfig { } 之后就可以在 Spring Bean 中定义一个定时任务对应的方法: @Component public cl…
如题,如果遇到类似的问题,可以通过以下方式解决: 修改驱动设置中的Oauth令牌链接,将其替换为https://api-cf.nn.ci/alist/ali_open/token。 相应的问题在 Github 中有反馈条目:出现报错ERROR RESTY Post "https://api.nn.ci/alist/ali_open/token": context deadline exceeded (Client.Timeout exceeded while awaiting headers) · Issue #4…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang