Fork me on GitHub
SpringBoot原理分析 - 自动装配

SpringBoot原理分析 - 自动装配

SpringBoot解决了spring以及springmvc繁琐的配置的痛点,以“约定大于配置”为原则,实现了自动装配。下面来探究下SpringBoot自动装配原理。 一、何为装配把bean放入到Spring的Ioc容器叫做装配,那么在装配Bean的时候,我们首先要知道哪些类需要被装配,实现这一方式的途径总体上说分为两种,一种是传统的xml方式,另一种则是注解方式。下面介绍下通过注解来实现装...

SpringBoot之Tomcat自动配置

准备工作我们知道SpringBoot的自动装配的秘密在org.springframework.boot.autoconfigure包下的spring.factories文件中,而嵌入Tomcat的原理就在这个文件中加载的一个配置类:org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoCon...

SpringBoot健康检查实现原理

SpringBoot健康检查实现原理

SpringBoot自动装配的套路,直接看spring.factories文件,当我们使用的时候只需要引入如下依赖 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactI...

SpringBoot到底run了什么

我们详细描述了SpringApplication对象实例的创建过程,本篇文章继续看run方法的执行逻辑吧 123456789101112131415public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start()...

Java项目启动时执行指定方法的几种方式

很多时候我们都会碰到需要在程序启动时去执行的方法,比如说去读取某个配置,预加载缓存,定时任务的初始化等。这里给出几种解决方案供大家参考。 1. 使用@PostConstruct注解 这个注解呢,可以在Spring加载这个类的时候执行一次。来看一下下方代码。 1234567891011121314151617181920@Componentpublic class Test {...

Spring是如何解决循环依赖的

循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Spring是如果解决的。 首先,需要明确的是spring对循环依赖的处理有三种情况: ①构造器的循环依赖:这种依赖spring是处理不了的,直 接抛出BeanCurrentlylnCreationException异常。 ②单例模式下...

Java 14的新增功能

Java 14 reached General Availability on 17 March 2020, download Java 14 here. Java 14 features. JEP 305: Pattern Matching for instanceof (Preview) (developer feature) JEP 343: Packaging Tool (Incu...