![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
文章平均质量分 59
Spring 原理和源码
下自成蹊*
穷且益坚,不坠青云之志
展开
-
Spring 注解
@Import开发使用的场景不多,主要功能是导入一个Bean,让spring 容器装载代码说明public @interface Import { /** 导入一个类名称 * {@link Configuration @Configuration}, {@link ImportSelector}, * {@link ImportBeanDefinitionRegistrar}, or regular component classes to import. */ Class<原创 2022-05-22 23:53:46 · 161 阅读 · 0 评论 -
spring-boot-devtools 热部署
devtools 原理devtools的原理底层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。jar包<dependencies> <depende原创 2022-05-22 23:46:49 · 300 阅读 · 0 评论 -
@SpringBootApplication 注解源码解析
@SpringBootApplication 定义@SpringBootApplication 是一个组合注解,主要包含三个注解@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class}), @Filter( type =原创 2022-05-22 15:59:48 · 344 阅读 · 0 评论 -
Spring 官方文档概览
Spring 特点spring is everywhere spring受到全世界Java开发人员的信赖Spring 大牌公司都在用 阿里巴巴,亚马逊,谷歌,微软等。Spring is flexible通过IOC 和 DI 实现了其灵活性Spring is productive开发效率高,并且能够提供丰富的功能和基础架构(Spring Boot与Spring Cloud)Spring is fast性能很好,可以支持reactive 的编程模式;以及spring boot原创 2022-05-21 10:45:40 · 1159 阅读 · 0 评论 -
Spring WebClient 与 RestTemplate 比较
Spring RestTemplateRestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange 以及 execute。长期以来,Spring 一直把 RestTemplate 作为默认 Web 客户端。RestTemplate 使用 Java Servlet API,这种模型在底层会为每个请求分配处理线程。这意味着线程会一原创 2022-05-19 08:20:53 · 708 阅读 · 0 评论 -
Spring MVC异常处理机制
核心接口HandlerExceptionExceptionResolver用于解析请求处理过程中出现的异常;主要功能:给ModelAndView设置内容、设置response相关的属性;对应的子类AbstractHandlerMethodExceptionResolverResponseStatusExceptionResolverAnnotationMethodHandlerExceptionResolverDefaultHandlerExceptionResolverSimpleMa原创 2022-05-08 11:07:01 · 247 阅读 · 0 评论 -
WebMvcConfigurationSupport 详解
四个MVC配置类的关系WebMvcConfigurerAdapterWebMvcConfigurerWebMvcConfigurationSupportWebMvcAutoConfigurationWebMvcConfigurer 为接口WebMvcConfigurerAdapter 是 WebMvcConfigurer 的实现类大部分为空方法,是 WebMvcConfigurer的子类实现,由于Java8中可以使用default关键字为接口添加默认方法,为在源代码中spring5.0之后就原创 2022-05-03 19:45:17 · 16120 阅读 · 0 评论 -
Spring Bean 生命周期
BeanFactoryPostProcessor接口 只会执行一次BeanPostProcessor接口 有几个自定义的Bean 就会执行几次BeanFactoryPostProcessor(Bean工厂的后置处理器)@Componentpublic class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor { public MyBeanFactoryPostProcessor() { Sys.原创 2022-03-06 10:59:16 · 158 阅读 · 0 评论 -
Spring中的可扩展接口
1.监听器Listener(点此连接,执行流程带源码分析及demo)2.bean定义的后置处理器(BeanDefinitionRegistryPostProcessor)和bean工厂的后置处理器(BeanFactoryPostProcessor):详见Spring IOC(2)----如何注册bean定义(点此连接,带源码分析)的第9点和10点3.Aware接口:主要用于给对象注入某个属性的值。下层有多个扩展接口BeanNameAware 实现setBeanName()方法,注入该bean在容器的n转载 2022-03-06 09:48:38 · 264 阅读 · 0 评论 -
Spring监听器---ApplicationListener
https://www.cnblogs.com/nijunyang/p/12339757.html原创 2022-03-06 09:45:13 · 175 阅读 · 0 评论 -
如何获取Spring 容器
方法一@Componentpublic class SpringContextUtils implements ApplicationContextAware { private static ApplicationContext context; @Override public void setApplicationContext(ApplicationContext context) throws BeansException {原创 2022-03-06 09:31:42 · 1635 阅读 · 0 评论 -
Spring中的InitializingBean接口的使用
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。import org.springframework.beans.factory.InitializingBean;public class TestInitializingBean implements InitializingBean{ @Override public void afterPropertie转载 2022-03-06 09:01:31 · 128 阅读 · 0 评论