springboot启动执行一次注解(springboot项目启动类注解)

网友投稿 253 2024-01-12


SpringBoot启动分析

初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。

SpringBoot的启动主要是通过实例化SpringApplication来启动的。

在SpringBoot的启动类,我们都会加上 @SpringBootApplication 注解。这个注解默认会引入 @EnableAutoConfiguration 注解。然后 @EnableAutoConfiguration 会 @Import(AutoConfigurationImportSelector.class) 。

springboot启动前执行方法的几种方式

执行核心run方法初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。

您可以使用exec-maven-plugin插件来实现这个功能。该插件可以在maven的生命周期中执行Java类的main方法,只需要在pom.xml文件中配置该插件,并指定要执行的类的路径。

调 SpringFactoriesLoader#getSpringFactoriesInstances 方法,key为:SpringApplicationRunListener.class,并创建对应的实例。

初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。

启动:每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解。

springboot注解、工厂特性创建对象

1、:##@SpringBootApplication 标识该类为SpringBoot项目启动类。

2、Spring Boot 最核心的 25 个注解 @SpringBootApplication 这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。

3、注解就是配置文件的另一种表现形式,Spring通过注解也可以创建对象。

4、springboot三大核心注解是@Configuration,@EnableAutoConfiguration和@ComponentScan。提到@Configuration就要提到他的搭档@Bean,使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。

SpringBoot项目主启动类上常用的注解释意

:##@SpringBootApplication 标识该类为SpringBoot项目启动类。

这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。

SpringBoot的Controller中经常会用到注解@Controller、@RestController、@RequestMapping、@RequestParam、@PathVariable、@RequestBody等,以下针对这些注解简单使用。

SpringBoot启动后执行某个方法

PostConstruct在构造函数之后执行,init()方法之前执行。

首先构造两个类,并加入容器:启动项目 查看打印日志 顺序~~~可以看到项目启动之后,自动就执行了,刚好 满足了 我们的需求,容器启动之后自动帮我们调用,前提 类需要加入到容器中并实现接口。

调 SpringFactoriesLoader#getSpringFactoriesInstances 方法,key为:SpringApplicationRunListener.class,并创建对应的实例。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:oppo是android手机吗(oppo属不属于安卓手机)
下一篇:springboot框架模块?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~