Spring面试题, Spring 中的 BeanFactory 是什么?
Spring面试题, Spring 中的 BeanFactory 是什么?
QA
Step 1
Q:: Spring 中的 BeanFactory 是什么?
A:: BeanFactory 是 Spring 的核心接口之一,负责实例化、配置和管理 Bean。它是 IoC(控制反转)容器的实现之一,主要用于定义 Bean 的创建和生命周期管理。BeanFactory 使用懒加载机制,即在第一次访问 Bean 时才创建实例,这样可以提升应用程序的启动速度。
Step 2
Q:: BeanFactory 和 ApplicationContext 有什么区别?
A:: BeanFactory 和 ApplicationContext 都是 Spring 容器的实现,但 ApplicationContext 是 BeanFactory 的子接口,提供了更丰富的功能。ApplicationContext 提供了国际化支持、事件机制和对 Web 应用的支持,同时默认情况下它会预先实例化单例 Bean,而 BeanFactory 是懒加载的。
Step 3
Q:: 如何在 Spring 中定义一个 Bean?
A:: 在 Spring 中,可以通过 XML 配置、注解(如 @Component、@Service、@Repository、@Controller)以及 Java 配置类(使用 @Configuration 和 @Bean 注解)来定义一个 Bean。例如:在 XML 中定义 <bean id="myBean" class="com.example.MyBean"/>,在注解方式中使用 @Component 标注类,并在 Java 配置类中使用 @
Bean 方法返回实例。
Step 4
Q:: Spring 中的依赖注入有哪几种方式?
A:: Spring 提供了多种依赖注入方式,主要有构造器注入、Setter 方法注入和字段注入。构造器注入通过构造方法传递依赖,Setter 注入通过 Setter 方法传递依赖,字段注入通过反射直接将依赖注入到字段中。