
springboot
第二人间
当我知道的越多,越知道自己一无所知
展开
-
剖析Spring AOP的全貌
版本说明:Spring Boot 2.2.8.RELEASE,Spring 5.2.7.RELEASE我们首先来看一下,我们如何实现自定义的切面逻辑第一步,引入aop依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>原创 2020-07-19 14:44:51 · 98 阅读 · 0 评论 -
SpringBoot项目中默认动态代理是jdk proxy还是cglib
在SpringBoot项目中,当我们想使用Spring AOP的功能,我们首先要做的是引入aop的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>我们无需自定义aop相关的配置类,因为在autoconfigure包中已经原创 2020-07-18 23:49:14 · 3513 阅读 · 3 评论 -
Spring Boot 内置Tomcat启动流程
觉得无从下手?一步一步来。有些路,走不通了,就先放一放。去其它路上转转,可能一会儿回来又可以走通了。我们先走第一条路。Spring Boot应用启动是在main方法里调用SpringApplication的run方法,所以内置Tomcat启动流程一定在包含在其中。我们可以debug,但在我们不知道任何有用信息的情况下,尤其是Spring的调用链一般都很深,所以一步一步的debug非常难。这条路走不通,我们先走其他条路。如果你认真观察,你会发现Spring Boot应用启动日志里有这么几句,看下图原创 2020-06-15 21:09:24 · 536 阅读 · 0 评论 -
springboot @Async 是如何把方法变成异步调用的
在springboot中,想把一个方法变成异步方法。首先需要加上EnableAsync注解,其次在你想要变成异步方法的方法上加上Async注解。当外部类调用该方法时,该方法将变成异步调用。但是具体的实现流程是怎样的呢?我们今天就来探究一下。我们首先加上了EnableAsync注解,这个注解做了什么呢?因为我们没有配置该注解的任何属性,所以属性全部取的默认值。重要的一个属性是AdviceMode也就是通知模式,默认值是PROXY。该配置表明使用动态代理的模式去拦截调用。知道了这一点,我们接着再看。该注原创 2020-06-06 16:07:25 · 819 阅读 · 0 评论 -
springboot 定时任务 坑 探究
在基于springboot创建的项目中,定义定时任务的操作很简单。首先,在启动类(加了注解SpringBootApplication,其实任意加了注解Configuration的类上都可以)上加注解EnableScheduling。该注解会通过SchedulingConfiguration引入ScheduledAnnotationBeanPostProcessor后置处理器,在bean初始化后对加了Scheduled注解的方法进行处理,使之可以有周期执行的能力。其次,就是在某个spring管理的bean的原创 2020-06-06 16:06:42 · 480 阅读 · 0 评论 -
spring boot viewResolver
spring mvc允许注册多个viewResolver。spring mvc通过循环调用viewResolver解析View。View不为空则直接返回。相应代码在DispatcherServlet中protected View resolveViewName(String viewName, Map model, Locale locale, HttpServletRequest re原创 2017-08-04 16:38:17 · 3173 阅读 · 0 评论