Spring面试题, 说说 Spring 启动过程?
Spring面试题, 说说 Spring 启动过程?
QA
Step 1
Q:: Spring 启动过程是怎样的?
A:: Spring 启动过程包括以下几个主要步骤:1. 创建 Spring 容器(通常是 ApplicationContext);2. 读取和解析配置文件(如 XML 或 Java 配置类);3. 实例化并初始化 Bean;4. 配置 Bean 的依赖关系;5. 处理 Bean 的生命周期回调(如 init 和 destroy 方法);6.
完成容器的启动,应用程序可以开始使用 Spring 管理的 Bean。
Step 2
Q:: Spring 容器有哪些类型?
A:: Spring 容器主要有两种类型:BeanFactory 和 ApplicationContext。BeanFactory 是 Spring 最基础的容器,只提供最基本的依赖注入功能;ApplicationContext 是 BeanFactory 的扩展,提供了更多的企业级功能,如事件传播、声明式机制、AOP、国际化等。
Step 3
Q:: 如何在 Spring 中定义一个 Bean?
A:: 在 Spring 中可以通过以下几种方式定义一个 Bean:1. 在 XML 配置文件中使用 <bean> 元素;2. 使用 Java 配置类并在方法上使用 @Bean 注解;3. 在组件类上使用 @Component、@Service、@Repository 或 @Controller 注解,并开启组件扫描(@
ComponentScan)。
Step 4
Q:: Spring 中 Bean 的生命周期是怎样的?
A:: Spring 中 Bean 的生命周期包括:实例化(Instantiation)、属性赋值(Populate Properties)、初始化(Initialization)、销毁(Destruction)。在初始化和销毁阶段,可以通过 @PostConstruct 和 @PreDestroy 注解、实现 InitializingBean 和 DisposableBean 接口或在配置文件中指定 init-method 和 destroy-
method 来定制操作。
Step 5
Q:: Spring 的依赖注入有哪些方式?
A:: Spring 的依赖注入主要有两种方式:1. 构造器注入,通过构造器参数注入依赖;2. Setter 方法注入,通过 Setter 方法注入依赖。此外,还可以使用 @Autowired、@Inject、@
Resource 等注解实现自动注入。