202111-16 一篇超详细的Spring Boot整合Mybatis文章 目录配置文件形式pom.xmlapplication.yml:UserMapper.xmlUserMapper配置springboot整合mybatis在运行类上添加@MapperScan注解测试类效果总结配置文件形式pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven-4... 继续阅读 >
202111-14 使用spring boot通过自定义注解打印所需日志 springboot自定义注解打印日志在实际项目中可能需要监控每个接口的请求时间以及请求参数等相关信息,那么此时我们想到的就是两种实现方式,一种是通过拦截器实现,另一种则通过AOP自定义注解实现。本文介绍自定义注解实现方式自定义注解,四个元注解这次就不解释了。@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public@interfaceWebLog{/***日志信息描述*/Stringdescription()defaul... 继续阅读 >
202111-14 Spring Boot console log 格式自定义方式 SpringBootconsolelog格式自定义SpringBoot默认使用Logback新增配置项:logging.pattern.consolelogging.pattern.console=%date%level[%thread]%logger{10}[%file:%line]-%msg%nspringboot自定义日志格式输出application.properties配置logging.config=classpath:logback-spring.xmllogging.path=C:/opt/logs/logback-spring.xml配置<?xmlversion="1.0"encoding="UTF-8"?><!--日志级别从低到高分为TRACE... 继续阅读 >
202111-14 Spring Boot mybatis-config 和 log4j 输出sql 日志的方式 依赖<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>两种配置log4j的方式:一定要新建一个log4j.properties文件在yaml中直接配置在mybatis-config中配置mapper-locations貌似不管用依旧需要加注解@Mappermybatis-config.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-/... 继续阅读 >
202111-14 spring boot中nativeQuery的用法 Springboot入门介绍springboot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含springmvc。springmvc是只是spring处理web层请求的一个模块。因此他们的关系大概就是这样:springmvc<spring<springboot。Spring框架概述什么是SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作《ExpertOne-On-OneJ2EEDevelopmentandDesign... 继续阅读 >
202111-09 SpringRetry重试框架的具体使用 目录一、环境搭建二、RetryTemplate2.1RetryTemplate2.2RetryListener2.3回退策略2.3.1FixedBackOffPolicy2.3.2ExponentialBackOffPolicy2.4重试策略2.5RetryCallback2.6核心使用三、EnableRetry四、Retryablespringretry主要实现了重试和熔断。不适合重试的场景:参数校验不合法、写操作等(要考虑写是否幂等)都不适合重试。适合重试的场景:远程调用超时、网络突然中断等可以重试。在springretry中可以指定需要重试的... 继续阅读 >
202111-09 Spring cloud alibaba之Ribbon负载均衡实现方案 目录1.什么是Ribbon1.1客户端的负载均衡1.2服务器端的负载均衡1.3常见负载均衡算法2.Nacos使用Ribbon3.Ribbon负载均衡策略3.1常用负载均衡描述3.3修改默认的负载均衡策略--配置文件的方式3.4自定义负载均衡策略4.使用springcloudloadbalancer替代ribbon1.什么是Ribbon目前主流的负载均衡方案分为以下两种:(1)集中式负载均衡:在消费者和服务提供者中间使用独立的代理方式进行负载,有硬件的(F5),软件的Nginx(2)客户端事... 继续阅读 >
202111-09 Spring Boot邮箱链接注册验证及注册流程 简单介绍注册流程【1】前端提交注册信息【2】后端接受数据【3】后端生成一个UUID做为token,将token作为redis的key值,用户数据作为redis的value值,并设置key的时长【4】后端根据用户信息中的邮箱地址信息,检验用户是否已经注册,如果没有,生成注册链接发送到用户邮箱,如果已经注册,提示用户该邮箱地址已被注册【5】用户点击邮件中的注册链接【6】后端判断redis中token是否过期,没有将用户信息保存到数据库,提示用户注册成功... 继续阅读 >
202111-07 Spring Cloud Stream简单用法 目录简单使用SpringCloudStream构建基于RocketMQ的生产者和消费者生产者消费者Stream其他特性消息发送失败的处理消费者错误处理SpringCloudStream对SpringCloud体系中的Mq进⾏了很好的上层抽象,可以让我们与具体消息中间件解耦合,屏蔽掉了底层具体MQ消息中间件的细节差异,就像Hibernate屏蔽掉了具体数据库(Mysql/Oracle⼀样)。如此⼀来,我们学习、开发、维护MQ都会变得轻松。⽬前SpringCloud... 继续阅读 >
202111-07 SpringBoot actuator 健康检查不通过的解决方案 SpringBootactuator健康检查不通过今天遇到有个服务能够注册成功,但是健康检查不通过,通过浏览器访问健康检查的url,chrome的network一直显示pending,说明这个请求提交了,但是得不到返回,卡住了。原来以为健康检查就是检查服务端口下的/health这个请求本身是否能正常返回,其实不是。所谓健康检查是有很多检查项的,springboot中继承AbstractHealthIndicator的类,比如DataSourceHealthIndicatorRedisHealthIndicator等,... 继续阅读 >
202111-07 关于Spring Cloud健康检查的陷阱 SpringCloud健康检查的陷阱健康检查基于SpringBootActuator的健康检查是SpringCloud微服务的必备组件,用来确保我们的服务是否可用。引入SpringBootActuator后,通过http://ip:port/health,可以看到HealthEndPoint给我们提供默认的监控结果,包含磁盘检测和数据库检测。如下{"status":"UP","diskSpace":{"status":"UP","total":398458875904,"free":315106918400,"thresho... 继续阅读 >
202111-07 Spring框架中一个有用的小组件之Spring Retry组件详解 1、概述SpringRetry是Spring框架中的一个组件,它提供了自动重新调用失败操作的能力。这在错误可能是暂时发生的(如瞬时网络故障)的情况下很有帮助。在本文中,我们将看到使用SpringRetry的各种方式:注解、RetryTemplate以及回调。2、Maven依赖让我们首先将spring-retry依赖项添加到我们的pom.xml文件中:<dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId><versio... 继续阅读 >
202111-05 Spring Boot Actuator自定义健康检查教程 健康检查是SpringBootActuator中重要端点之一,可以非常容易查看应用运行至状态。本文在前文的基础上介绍如何自定义健康检查。1.概述本节我们简单说明下依赖及启用配置,展示缺省健康信息。首先需要引入依赖:compile("org.springframework.boot:spring-boot-starter-actuator")现在通过http://localhost:8080/actuator/health端点进行验证:{"status":"UP"}缺省该端点返回应用中很多组件的汇总健康信息,但可以修改属性配置展... 继续阅读 >
202111-05 基于Spring depends-on的使用详解 Springdepends-on的使用通过在XML中的<bean>里配置depends-on属性或者在一个类上使用注解@DependsOn,可以使一个Bean的产生依赖于其他几个Bean。请看如下代码:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.spri... 继续阅读 >
202111-01 Spring AbstractRoutingDatasource 动态数据源的实例讲解 SpringAbstractRoutingDatasource动态数据源数据源上下文AbstractRoutingDatasource需要信息决定路由到那个数据源,该信息我们称为上下文。可以市任何对象,下面示例我们使用枚举ClientDatabase作为上下文:publicenumClientDatabase{CLIENT_A,CLIENT_B}值得注意的是,实际中上下文可以是任何有意义的领域对象。如Environment定义上下文,在这种上下文中枚举可以包括PRODUCTION,DEVELOPMENT,andTESTING.上下文... 继续阅读 >
202111-01 使用Spring Boot实现操作数据库的接口的过程 一、SpringBoot原理用户从页面前端,也就是我们所说的view层进行查询访问,进入到controller层找到对应的接口,接着controller进行对service层进行业务功能的调用,service要进入dao层查询数据,dao层调用mapper.xml文件生成sql语句到数据库中进行查询二、实现过程2.1、准备数据库user表插入四条数据2.2、model下创建一个User类与数据库的字段一一对应@Getter@SetterpublicclassUser{privateintid;... 继续阅读 >