SpringBoot的启动过程及部分注解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot的启动过程及部分注解相关的知识,希望对你有一定的参考价值。

参考技术A

相比于以前繁琐的基于 Spring 的 Web 应用,SpringBoot 通过默认配置很多框架的方式,极大的简化了项目的搭建以及开发流程。
一个简单的 SpringBoot 应用只需要三步:
1.在 pom.xml 中引入所需要的依赖
2.在 application.yml 配置所需的数据源
3.在启动类中加入 @SpringBootApplication 注解 以及 run 方法

启动流程

1.SpringApplication.run()启动
2.新建 SpringApplication 实例,主要是初始化一些成员变量,参数列表等

prepareContext():

refreshContext() 中 refresh():

核心注解(部分)
@SpringBootAppliction 启动类
@Configuration + @EnableAutoConfiguration + @ComponentScan

@Configuration
允许在应用上下文中注册其它的 bean,可用 @Component代替
@Configuration 会为 bean 创建一个代理类,这个类会拦截所有被 @Bean 修饰的方法,从容器中返回所需要的单例对象;@Component 不会创建代理类,会直接执行方法,每次返回一个新的对象

@EnableAutoConfiguration
启用 springboot 自动装配,该参数位于 spring.factories 中 org.springframework.boot.autoconfigure.EnableAutoConfiguration

@ComponentScan
扫描被@Component (@Service,@Controller)注解的 bean,注解默认会扫描该类所在的包下所有的类

@Autowired
自动导入对象到类中,被注入进的类被 Spring 容器管理 Service->Controller

@Component
通用的注解,可标注任意类为 Spring 组件
@Repository 持久层
@Service 服务层
@Controller 控制层

@Bean
用于告诉方法产生一个 Bean 对象,然后这个对象交给 IOC 容器管理。产生这个Bean对象的方法Spring只会调用一次,然后将这个Bean对象放在 IOC 容器中

以上是关于SpringBoot的启动过程及部分注解的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot启动过程:SpringApplication及SpringApplicationBuilder

SpringBoot启动过程:SpringApplication及SpringApplicationBuilder

spring boot注解及启动过程

解决启动SpringBoot项目加载 @Value注解报异常问题

解决启动SpringBoot项目加载 @Value注解报异常问题

Spring Boot:加载DataSource过程的源码分析及yml中DataSource的配置