1、项目启动失败
原因是pom中既配置了mybatis又配置了mybatis-plus
2、idea连接后提示缺少MySQL驱动,直接根据提示安装就好
3、解析请求得到的json为对象时候报错,待解析的对象是泛型对象
String regionsInfo = OkHttpRequestUtils.sendGetRequest(new URL(dataServer + "/online/region/list"));
Gson gson = new Gson();
Type type = new TypeToken<RestResult<List<RegionDto>>>(){}.getType();
RestResult<List<RegionDto>> regionsResult = gson.fromJson(regionsInfo, type);
return regionsResult.getData();
4、@Value获取不到配置文件中的值
@Component
@Autowired
5、使用okhttp发送请求
https://www.cnblogs.com/aizj/p/9323019.html
6、负载均衡算法实现
7、重试
import org.springframework.retry.annotation.Backoff;
import org.springframework.retry.annotation.Retryable;
public class RetryExample {
@Retryable(maxAttempts = 3, value = {CustomException.class}, backoff = @Backoff(delay = 1000))
public void retryMethod() throws CustomException {
// 重试逻辑
// 如果抛出CustomException异常,则会进行重试,最多重试3次,每次重试间隔1秒
}
}
在上面的例子中,retryMethod()方法被@Retryable注解标记,表示该方法可以进行重试。maxAttempts属性设置为3,表示最多重试3次。value属性设置为CustomException.class,表示只有当抛出CustomException异常时才会进行重试。backoff属性设置为@Backoff(delay = 1000),表示每次重试间隔1秒。 当调用retryMethod()方法时,如果抛出CustomException异常,会进行重试,最多重试3次,每次重试间隔1秒。如果重试3次后仍然抛出异常,则重试失败。
1. @Retryable:该注解用于标记一个方法,表示该方法可以进行重试。可以通过设置maxAttempts属性指定最大重试次数,默认为3次。还可以通过设置value属性指定需要重试的异常类型,默认为Throwable。
2. @Recover:该注解用于标记一个方法,表示当重试次数超过最大重试次数时,执行该方法作为重试的补偿逻辑。该方法的参数可以是Throwable类型,也可以是重试方法的参数类型。
3. @CircuitBreaker:该注解用于标记一个方法,表示该方法可以进行断路器的开关操作。可以通过设置failOn属性指定需要触发断路器的异常类型,默认为Throwable。还可以通过设置reset属性指定断路器重置的时间间隔,默认为5秒。
4. @RateLimiter:该注解用于标记一个方法,表示该方法可以进行限流操作。可以通过设置value属性指定限流的速率,默认为1次/秒。
5. @Bulkhead:该注解用于标记一个方法,表示该方法可以进行隔离操作。可以通过设置value属性指定隔离的最大并发数,默认为10。 这些注解都是由Spring Retry框架提供的,可以在Spring应用中使用。
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
<version>1.3.1</version>
</dependency>
8、从POST请求中获取请求体
https://www.cnblogs.com/lyn8100/p/16513513.html
9、MP主键自增及之间自动注入