springboot
文章平均质量分 79
springboot
炎升
这个作者很懒,什么都没留下…
展开
-
并发编程学习(十四):tomcat线程池
Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。ConnectorContainer由 Engine、Host、Context和Wrapper 四个容器组成ServiceConnector 和 Container 两个核心组件。原创 2023-05-31 14:27:38 · 2324 阅读 · 0 评论 -
Spring Boot 2.X默认连接池HikariCP详解
在开始说明Spring Boot中的数据源配置之前,我们先搞清楚关于数据访问的这些基本概念: Java数据库连接(Java Database Connectivity,简称JDBC)是Java语⾔中⽤来规范客户端程序如何来访问数据库的应⽤程序接⼝,提供了诸如查询和更新数据库中数据的⽅法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是⾯向关系型数据库的。 JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),原创 2022-06-03 16:00:15 · 3279 阅读 · 1 评论 -
Log日志追踪之MDC
MDC(Mapped Diagnostic Context,映射调试上下文)是Slf4j(提供了接口定义和核心实现,日志库负责适配器的实现)提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的Map,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,只需要从 MDC 中获取所需的信息即可。MDC 的内容则由程序在适当的时候保存进去。对于一个 Web 应用来说,通常是在请求被处理的最开原创 2022-06-01 16:43:49 · 5453 阅读 · 0 评论 -
Lombok基本注解之@SneakyThrows
1、@SneakyThrows注解@SneakyThrows注解:是由lombok为咱们封装的,它能够为咱们的代码生成一个try...catch块,并把异常向上抛出来。使用范围: 只能作用在方法和构造函数之上 。@SneakyThrows注解的作用得从java的异常设计体系说起。1.1、java中常见的异常有两种:Exception即非运行时异常(编译异常)。 RuntimeException即运行时异常。第一种会强制要求抛出它的方法声明throws,从程序语法角度讲...原创 2022-05-30 10:40:14 · 1613 阅读 · 0 评论 -
Scheduler 值
目录1、addJob(JobDetail jobDetail, boolean replace)2、addJob(JobDetail jobDetail, boolean replace, boolean storeNonDurableWhileAwaitingScheduling)3、addCalendar(String calName, Calendar calendar, boolean replace, boolean updateTriggers)4、boolean checkEx原创 2022-05-16 17:31:26 · 2932 阅读 · 1 评论 -
TriggerBuilder详解
TriggerBuilder是⽤来创建触发器Trigger的。它与JobBuilder在整体结构或者说设计风格上可以说是⼀模⼀样的,同样采⽤Builder模式。以下为TriggerBuilder类中的api说明:1、TriggerBuilder.newTrigger()调用自己的无参构造方法,创建⼀个新的TriggerBuilder,⽤它来定义触发器的规范。源码:/** * Create a new TriggerBuilder with which to define a原创 2022-05-11 22:59:28 · 3800 阅读 · 0 评论 -
Quartz的监听器
Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知。类似于任务执行过程中的邮件、短信类的提醒。Quartz监听器主要有JobListener、TriggerListener、SchedulerListener三种,顾名思义,分别表示任务、触发器、调度器对应的监听器。三者的使用方法类似,在开始介绍三种监听器之前,需要明确两个概念:全局监听器与非全局监听器,二者的区别在于:全局监听器能够接收到所有的Job/Trigger的事件通知,非全局监听器只能接收到在...转载 2022-05-11 18:06:25 · 1338 阅读 · 0 评论 -
SpringBoot使用AOP,PointCut详解
aop依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>1、相关注解介绍:@Aspect :把当前类标识为一个切面;@Pointcut :Pointcut是织入Advice的触发条件...原创 2021-12-14 16:25:53 · 4683 阅读 · 0 评论 -
SpringBoot 之@Transactional 常见坑点
SpringBoot设置事务隔离等级。使用事务注解@Transactional 之前,应该先了解它的相关属性,避免在实际项目中踩中各种各样的坑点。@Transactional 的所有可选属性如下:属性 类型 默认值 说明 propagation Propagation枚举 PROPAGATION_REQUIRED 可选的事务传播属性 isolation isolation枚举 ISOLATION_DEFAU...原创 2021-12-06 16:35:56 · 1289 阅读 · 0 评论 -
spring.profiles.active 与spring.profiles.include
【spring.profiles.active】和 【spring.profiles.include 的区别】: 主要是语意上的区别,实际使用效果相同。 以上两种,在创建不同的配置文件时,命名规则遵循 application-${profile}.properties,【spring.profiles.active】:根据部署场景不同,切换不同的配置文件:配置spring.profiles.active,属性值为${profile}。【spring.profi...原创 2021-11-16 17:50:34 · 1894 阅读 · 0 评论 -
Spring cloud之Hystrix 配置
1、hystrix可配置属性类型Hystrix可以配置属性的有以下类型:Execution:控制HystrixCommand.run() 的如何执行; Fallback: 控制HystrixCommand.getFallback() 如何执行; Circuit Breaker: 控制断路器的行为; Metrics: 捕获HystrixCommand和HystrixObservableCommand执行信息相关的配置属性; Request Context:设置请求上下文的属性; Collap原创 2021-08-03 09:37:02 · 2798 阅读 · 0 评论 -
springcloud之hystrix
1.什么是hystrix?hystrix是Netlifx开源的一款容错框架,防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)等功能.2、hystrix能做什么? Hystrix 负责监控服务之间的调用情况,连续多次失败的情况进行熔断保护。保护的方法就是使用Fallback,当调用的服务出现故障时,就可以使用Fallback 方法的返回值;Hystrix 间隔时间会再次检查故障的服务,如果故障服务恢复,将继续使用服务。通过hystrix...原创 2021-07-29 15:36:52 · 213 阅读 · 0 评论 -
springcloud之feign
1、什么是Feign Feign是一种声明式、模板化的HTTP客户端(仅在Application Client中使用)。声明式调用是指,就像调用本地方法一样调用远程方法,无需感知操作远程http请求。 Spring Cloud的声明式调用, 可以做到使用 HTTP请求远程服务时能就像调用本地方法一样的体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。Feign的应用,让Spring Cloud微服务调用像Dubbo一样,Application Client直接通过接口方法调用Ap原创 2021-07-26 14:58:35 · 1211 阅读 · 1 评论 -
微服务面试题
目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、springBoot 和SpringCloud的理解5、分布式系统面临的问题6、什么是服务熔断,什么是服务降级7、微服务的优缺点分别是什么?8、你所知道的微服务技术栈有哪些?9、什么是 Eureka服务注册与发现10、Eureka的基本架构是什么?11、作为服务注册中心,Eureka比Zookeeper好在哪里? ***12、什么是 Ribbon负载...转载 2021-07-12 16:53:12 · 1353 阅读 · 0 评论 -
前台传参后台,后台返参到前台,日期转换
1、@DateTimeFormat:spring自带的,将String转换成Date,一般前台给后台传值时用。@DateTimeFormat是Spring的注解,作用是限制前端传入的时间格式,如果格式不匹配,则会抛出异常,可以理解成一种格式限制,不加该注解,Spring也会将前端传入的时间字符串解析成Date类型因为其用法比较单一,只用于将字符串格式化成日期,在加入spring以后,直接使用注解@DateTimeFormat(pattern=”yyyy-MM-dd”)即可。@DateTimeFo原创 2021-07-08 14:56:14 · 894 阅读 · 0 评论 -
mybatis-plus 实体注解@TableField、@ApiModel、@ApiModelProperty、@Valid
1、@TableField注解的使用com.baomidou.mybatisplus.annotations.TableField值 描述 value 字段值(驼峰命名方式,该值可无)。如果已开启驼峰映射,则不必在@TableField注解里面写value属性了。 update 预处理 set 字段自定义注入 condition 预处理 WHERE 实体条件自定义运算规则 el 详看注释说明 exist 是否为数据库表字段( 默认 true..原创 2021-05-20 20:47:21 · 4607 阅读 · 0 评论 -
mybatis 总结
1、mapper.xml中SQL处理大于号、小于号:这种问题在xml处理sql的程序中经常需要我们来进行特殊处理。小于 小于等于 大于 大于等于 与 单引号 双引号 < <= > >= & ' " < <= > >= &am...原创 2021-04-29 15:18:45 · 80 阅读 · 0 评论 -
spring aop动态代理中:java代理与cglib动态代理区别,及同一个业务类里事务方法调用处理
Spring的两种动态代理:Jdk和Cglib 的区别和实现 Spring通过AopProxy接口,抽象了这两种实现,实现了一致的AOP方式:一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。(通过反射的机制来调用被拦截实例方法的)而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK...原创 2021-04-28 20:24:37 · 836 阅读 · 0 评论 -
熔断
我们知道,如果一个软件系统的并发请求数目超过了系统的最佳线程数,那么就会导致激烈的资源竞争,随着资源的匮乏甚至枯竭,整个系统也就面临着灾难。所以,很多软件系统为了保证即使在出现并发用户数>最佳线程数时,也不至于导致整个万网站崩溃,都会采用一些技术手段来避免发生系统性灾难。这些技术中比较典型的就是限流、降级和熔断1、为什么需要熔断现在很多网站的背后都是一个庞大的《分布式》系统,多个...原创 2020-03-24 13:55:40 · 333 阅读 · 0 评论 -
事物的传播机制
目录1、事务的传播机制2、测试2.1、准备测试方法2.2、事务传播机制的测试事务传播机制:就是事务在多个方法的调用中是如何传递的,是重新创建事务还是使用父方法的事务?父方法的回滚对子方法的事务是否有影响?这些都是可以通过事务传播机制来决定的。以spring的事务传播机制为例子:Spring事务机制:主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考。Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需原创 2021-01-13 23:40:18 · 11469 阅读 · 1 评论 -
跨域问题
1、什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,只要有一个不同,就是跨域。如:http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)http://原创 2021-03-03 17:48:36 · 346 阅读 · 1 评论 -
spring自定义注解
编程思想:垂直化编程,就是A—B---C—D…等执行下去,一个逻辑一个逻辑完了再执行下一个,但是spring 中AOP提供了一种思想,它的作用就是,当在业务不知情的情况下,对业务代码的功能的增强,这种思想使用的场景,例如事务提交、方法执行之前的权限检测、日志打印、方法调用事件等等。就利用我的日志管理来述说一下这个AOP思想下的自定义注解是如何来实现的。。。java在我们要自定义注解的时候提供了...原创 2018-11-12 17:24:49 · 1289 阅读 · 0 评论 -
自定义注解
1、什么是注解?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观、更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。 Java注解是附加在代码中的一些元信息,用于一些工具在编.转载 2021-01-22 11:51:34 · 39272 阅读 · 1 评论 -
springboot之Actuator
1、Actuator介绍Actuator是Springboot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuator开发者可以很方便地对应用系统某些监控指标进行查看、统计等。Actuator 的核心是端点 Endpoint,它用来监视应用程序及交互,spring-boot-actuator 中已经内置了非常多的 Endpoint(health、info、beans、metrics、httptrace、shutdown等等),同时也允许我们自己扩展自己的 Endpoints。每个 En.原创 2020-09-12 15:29:34 · 14748 阅读 · 1 评论 -
springboot配置监听器、过滤器和拦截器
springboot配置监听器、过滤器和拦截器请求链路说明监听器: listener是servlet规范中定义的一种特殊类。用于监听servletContext、HttpSession和servletRequest等域对象的创建和销毁事件。监听域对象的属性发生修改的事件。用于在事件发生前、发生后做一些必要的处理。 其主要可用于以下方面: ...转载 2019-04-17 17:47:45 · 336 阅读 · 0 评论