当前位置: 首页> 文旅> 文化 > 网站空间哪个比较好_长春做网站搜吉网传媒_如何制作简单的网页链接_外贸seo建站

网站空间哪个比较好_长春做网站搜吉网传媒_如何制作简单的网页链接_外贸seo建站

时间:2025/7/11 7:57:43来源:https://blog.csdn.net/NiNg_1_234/article/details/144440644 浏览次数:0次
网站空间哪个比较好_长春做网站搜吉网传媒_如何制作简单的网页链接_外贸seo建站

文章目录

  • Spring启动时初始化的几种方式详解
    • 一、引言
    • 二、Spring Boot启动流程
      • 1、SpringApplication的创建
        • 1.1、创建SpringApplication的方式
      • 2、环境和监听器的初始化
    • 三、Bean的创建和初始化
      • 3.1、使用@Bean注解配置
      • 3.2、使用@PostConstruct注解
    • 四、使用示例
      • 4.1、ApplicationRunner和CommandLineRunner接口
    • 五、总结

Spring启动时初始化的几种方式详解

一、引言

在Spring框架中,初始化是一个关键步骤,它涉及到配置加载、环境准备、Bean的创建和初始化等多个环节。Spring Boot作为Spring的扩展,简化了这些步骤,提供了多种初始化方式。本文将详细解析Spring启动时的几种初始化方式,并提供代码示例。

二、Spring Boot启动流程

1、SpringApplication的创建

Spring Boot应用的启动通常从一个带有@SpringBootApplication注解的主类开始,这个注解包含了@Configuration@EnableAutoConfiguration@ComponentScan,从而开启了自动配置和组件扫描。SpringApplication.run()方法是用来启动Spring Boot应用的主要入口。

1.1、创建SpringApplication的方式

有三种常见的方式创建SpringApplication

  1. 直接执行静态方法run

    @SpringBootApplication
    public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
    }
    

    这是最常用的方式,简单且直观。

  2. 通过new关键字直接创建

    @SpringBootApplication
    public class MyApplication {public static void main(String[] args) {SpringApplication application = new SpringApplication(MyApplication.class);application.run(args);}
    }
    

    这种方式允许在运行之前对SpringApplication对象进行更多的配置。

  3. 使用SpringApplicationBuilder

    @SpringBootApplication
    public class MyApplication {public static void main(String[] args) {new SpringApplicationBuilder(MyApplication.class).run(args);}
    }
    

    这种方式适合喜欢链式编程风格的开发者。

2、环境和监听器的初始化

SpringApplication的构造方法中,Spring Boot解析应用的启动模式,并初始化应用的上下文类型。同时,Spring Boot也会初始化ConfigurableEnvironment,这个环境中包含了系统的属性、环境变量、配置文件等数据,作为后续加载Bean定义和初始化的基础。

三、Bean的创建和初始化

3.1、使用@Bean注解配置

编写配置类,使用@Configuration@Bean注解进行初始化。这种方式允许在Spring容器启动时执行一些初始化操作。

@Configuration
public class InitConfigTest {@Beanpublic String testInit() {System.out.println("Initializing test bean");return "test";}
}

3.2、使用@PostConstruct注解

在Spring管理的Bean中使用@PostConstruct注解的方法,该方法会在Spring容器实例化完Bean后被执行,用于执行一些初始化操作。

public class InitService {private List<String> data = new ArrayList<>(Arrays.asList("A", "B", "C"));@PostConstructpublic void init() {data.add("D");}public List<String> getData() {return this.data;}
}

四、使用示例

4.1、ApplicationRunner和CommandLineRunner接口

Spring Boot提供了ApplicationRunnerCommandLineRunner接口,允许在Spring应用启动后执行一些代码。这些接口的实现类需要用@Component注解标注。

@Component
public class ApplicationRunnerTest implements ApplicationRunner {@Overridepublic void run(ApplicationArguments args) throws Exception {System.out.println("ApplicationRunner is running");}
}
@Component
public class CommandLineRunnerTest implements CommandLineRunner {@Overridepublic void run(String... args) throws Exception {System.out.println("CommandLineRunner is running");}
}

五、总结

Spring Boot提供了多种启动时初始化的方式,包括通过SpringApplication的多种创建方式、使用@Bean注解的配置类、@PostConstruct注解的方法以及ApplicationRunnerCommandLineRunner接口。这些方式可以根据不同的初始化需求灵活选择,以确保应用在启动时能够正确加载配置和执行必要的初始化操作。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

  • 深入理解 Spring Boot 启动流程-CSDN博客
  • Spring Boot启动时执行初始化操作的几种方式_springboot启动时初始化-CSDN博客
关键字:网站空间哪个比较好_长春做网站搜吉网传媒_如何制作简单的网页链接_外贸seo建站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: