Spring面试题, Spring Bean 注入容器有哪些方式?
Spring面试题, Spring Bean 注入容器有哪些方式?
QA
Step 1
Q:: Spring Bean 注入容器有哪些方式?
A:: Spring 提供了多种方式将 Bean 注入容器中,包括:1. 基于 XML 的配置方式;2. 基于注解的方式(@Autowired、@Resource、@Inject 等);3. 基于 Java 配置类的方式(@Configuration 和 @
Bean 注解)。这些方式各有优劣,基于 XML 的配置适用于需要对配置进行集中管理的场景,基于注解的方式则更加简洁和易读,基于 Java 配置类的方式可以充分利用 Java 语言的类型检查和 IDE 的自动补全功能。
Step 2
Q:: Spring Bean 的生命周期是什么样的?
A:: Spring Bean 的生命周期包括:实例化、属性赋值(依赖注入)、初始化、销毁等几个阶段。Spring 通过 BeanPostProcessor 和 InitializingBean 等接口允许开发者在 Bean 的不同生命周期阶段进行自定义操作。例如,@PostConstruct 注解可以用于初始化方法,@
PreDestroy 注解可以用于销毁方法。
Step 3
Q:: 什么是 Spring IoC 容器?
A:: Spring IoC 容器是 Spring 框架的核心部分,它负责管理应用程序中的对象生命周期,包括对象的创建、初始化、销毁和依赖注入。IoC(Inversion of Control,控制反转)是一种设计原则,通过它对象的依赖关系由容器在运行时动态注入,而不是在代码中硬编码。常见的 IoC 容器实现包括 ApplicationContext 和 BeanFactory。
Step 4
Q:: 什么是 Spring 中的 AOP?
A:: AOP(Aspect-Oriented Programming,面向切面编程)是 Spring 框架中的一项核心功能,它通过将横切关注点(如日志记录、事务管理等)与业务逻辑分离,提高了代码的模块化。Spring 提供了多种方式来实现 AOP,如基于 XML 配置、基于注解(如 @Aspect 和 @
Before)等。AOP 的主要概念包括切面(Aspect)、连接点(Join Point)、通知(Advice)、切入点(Pointcut)等。
Step 5
Q:: 什么是 Spring 中的事务管理?
A:: Spring 提供了强大的事务管理功能,支持声明式和编程式两种方式。声明式事务管理通过 @
Transactional 注解实现,开发者可以在方法或类上使用该注解来声明事务。编程式事务管理则通过 TransactionTemplate 或 PlatformTransactionManager 接口实现。Spring 事务管理支持多种事务传播行为(如 REQUIRED、REQUIRES_NEW 等)和隔离级别(如 READ_COMMITTED、SERIALIZABLE 等)。