从servlet到DispatcherServlet
摘要:一.什么是Servlet?之前已经介绍过,Servlet就是java语言用来处理网络请求的一套规范;其实从包名javax.servlet.Servlet也可以看出来,它是java扩展内容二.重要组成1.javax.servlet包,定义规范顶级接口和抽象父类,ServletRequest、Servl
阅读全文
spring中的@import/@ImportResource注解
摘要:一.作用:往容器中注入BeanDefinition对象,@Import直接一点,@ImportResource通过配置文件绕了一层(即读取文件,解析里面配置属性,封装BeanDefinition对象) 1.@Import导入类,@ImportResource导入xml配置文件;导入类能做的事情,导入
阅读全文
get请求加随机数目的是什么?DispatcherServlet中的几个细节
摘要:本节聊一下DispatcherServlet工作流程中的细节问题 1.attributesSnapshot参数快照 在doService()方法开始,取出request请求中的参数,最后finally中恢复request参数;理论上最后关心response就可以了,为什么还要操作request?其实
阅读全文
spring中的@Conditional注解
摘要:一.@Conditional条件注解概述 1.作用于方法和类上面,value是实现Condition接口类型,一个判断是否匹配的方法,返回true/false,例如 如果是Windows系统,且@Conditional注解宿主上有@Controller注解时,返回true,对应controller类
阅读全文
spring中的@Autowired注解
摘要:先看个最常用的示例代码,介绍完整流程 @Autowired简单例子 一.spring容器实例化的时候,如web容器AnnotationConfigServletWebServerApplicationContext构造方法中,new一个新对象AnnotatedBeanDefinitionReader
阅读全文
spring中的@Configuration注解
摘要:@Configuration是用来替换xml的注解,功能等同于xml配置文件,@Bean标注的方法等同于xml文件里的一个<bean/>标签 1.xml可以配置多个,同样@Configuration也可以配置多个,application.xml相当于主配置类(启动就加载进容器的配置类),如DemoA
阅读全文
spring中资源配置体系
摘要:springboot版本2.2.6 一.项目或多或少都需要一些初始化基础配置,使用配置,我们不得不考虑以下问题:什么格式、存储在哪、怎么解析、怎么加载进容器、怎么无状态灵活切换?spring是怎么做的,完整流程是怎样的? 二、资源配置流程 1.prepareEnvironment准备环境阶段,创建S
阅读全文
spring中参数占位符原理
摘要:一.理论基础 1.xml中直接使用"${aa}"注入属性值的原理,BeanFactory后置处理器:在容器中的bean对象实例化之前,对容器中的beanDefinition对象做特定修改;例如:将一个beanDefinition对象的某个String类型的属性a初始值从"11"修改为"1111",s
阅读全文
分布式配置中心apollo-分析4
摘要:前面几章,介绍了apollo客户端,这章开始介绍apollo服务端的meta server和apollo-config,apollo版本1.6.1 一.Meta Server 客户端首先请求Meta Server,查询可用的Cofig Service 1.前面在讲使用apollo项目启动的时候,要配
阅读全文
springboot是怎么集成tomcat和dispatcherServlet的?
摘要:DispatcherServlet 自动装配EnableAutoConfiguration-->DispatcherServletAutoConfiguration,使用注解 @Conditional @Bean,new出来的对象,DispatcherServlet dispatcherServle
阅读全文
spring源码中:ignoreDependencyInterface/registerResolvableDependency
摘要:1.AnnotationConfigServletWebApplicationContext举个例子,有个接口InterFaceA,它有2个实现类A1和A2 那么,如果一个类B 依赖了InterFaceA,此时sprig不知道要注入哪个实现类,可以通过 使用@primary注解 或者 使用@Qual
阅读全文