![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Boot
头发阻挡了我对知识的吸收
还没秃的小菜鸡
头发阻挡了我对知识的吸收
展开
-
SpringBoot 启动流程
SpringApplication类构造器public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { this.resourceLoader = resourceLoader;//此时为null,可以通过此参数指定类加载器 Assert.notNull(primarySources, "PrimarySources must not be null"); t原创 2020-12-19 16:12:15 · 130 阅读 · 1 评论 -
SpringBoot 自动装配原理
SpringBoot 自动装配原理@SpringBootApplication@Target(ElementType.TYPE)//修饰自定义注解,指定该自定义注解的注解位置,类还是方法,或者属性@Retention(RetentionPolicy.RUNTIME)//被它所注解的注解保留多久,注解的生命周期。可选的参数值在枚举类型 RetentionPolicy 中,一般如果需要在运行时去动态获取注解信息,那只能用 RUNTIME 注解;如果要在编译时进行一些预处理操作,比如生成一些辅助代码(如 B原创 2020-12-17 17:56:26 · 133 阅读 · 0 评论 -
SpringBoot 零配置及内嵌tomcat原理
SpringBoot 零配置及内嵌tomcat原理零配置原理Spring JavaConfig是Spring社区的产品,使用java代码配置Spring IoC容器。不需要使用XML配置。JavaConfig的优点:面向对象的配置。配置被定义为JavaConfig类,因此用户可以充分利用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。减少或消除XML配置。许多开发人员不希望在XML和Java之间来回切换。JavaConfig为开发人员提供了一种纯Java方法原创 2020-12-17 10:04:00 · 197 阅读 · 1 评论 -
HandlerAdapters
HandlerAdaptersHandlerAdapter是处理器适配器,Spring MVC通过HandlerAdapter来实际调用处理函数。它是SpringMvc处理流程的第二步,当HandlerMapping获取了定位请求处理器Handler,DispatcherServlet会将得到的Handler告知HandlerAdapter,HandlerAdapter再根据请求去定位请求的具体处理方法是哪一个。流程DispatcherServlte会根据配置文件信息注册HandlerAdapte原创 2020-12-14 08:38:06 · 266 阅读 · 0 评论 -
HandlerMapping
HandlerMappingHandlerMapping在Spring MVC框架的jar包下面,他是处理映射器,为用户发送的请求找到合适的Handler Adapter,它将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,同时通过这种策略模式,很容易添加新的映射策略。SpringMVC在请求到handler处理器的分发这步就是通过HandlerMapping模块解决的,handlerMap原创 2020-12-11 08:52:36 · 2437 阅读 · 0 评论 -
容器初始化,请求处理
父子容器在使用Spring MVC时候大部分同学都会定义两个配置文件,一个是Spring的配置文件spring.xml,另一个是Spring MVC的配置文件spring-mvc.xml。问题 : 如果在spring.xml和spring-mvc.xml文件中同时定义一个相同id的单例bean会怎样呢?我做了个实验,结论是:容器中会同时存在两个相同id 的bean,而且使用起来互不干扰。这是为什么呢?学过Spring的同学肯定会质疑,众所周知id是bean的唯一标示,怎么可能同时存在两个相同id的原创 2020-12-04 16:38:56 · 144 阅读 · 0 评论 -
servlet 3.0 spi
不采用SPIpublic static void main(String[] args) throws Exception { Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); Context appContext = tomcat.addWebapp("/", "D:\\workspace\\springmvc\\src\\main\\webapp"); AnnotationConfigApplicationCont原创 2020-12-02 12:03:50 · 432 阅读 · 0 评论 -
手写实现SpringMVC
SpringMVC流程图用户发送请求至前端控制器DispatcherServlet。DispatcherServlet收到请求调用HandlerMapping处理器映射器。处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。DispatcherServlet调用HandlerAdapter处理器适配器。HandlerAdapter经过适配调用具体的处理器(Controlle原创 2020-12-01 15:38:27 · 534 阅读 · 0 评论 -
Servlet 概述
servlet的生命周期?服务器启动时(web.xml中配置load-on-startup=1,默认为0)或者第一次请求该servlet时,就会初始化一个Servlet对象,也就是会执行初始化方法init(ServletConfig conf)该servlet对象去处理所有客户端请求,在service(ServletRequest req,ServletResponse res)方法中执行最后服务器关闭时,才会销毁这个servlet对象,执行destroy()方法为什么创建的ser原创 2020-11-28 15:09:23 · 91 阅读 · 0 评论