Spring 依赖注入面试怎么答
依赖注入是把协作对象交给容器装配,而不是在业务代码里 new 满天飞。面试里先说清三种常见写法:构造器、Setter、字段 @Autowired,再表态你们项目用哪一种、为什么。
建议优先讲构造器注入
- 依赖是必填时,构造器能在启动期暴露缺失 Bean
- 字段便于写,但单测和循环依赖更难发现
- 多个构造器时要能说明 @Autowired / @Qualifier 怎么消歧
作用域与循环依赖
默认单例。prototype 每次获取新实例。请求/会话作用域只在 Web 里有意义。循环依赖:单例 + Setter/字段时 Spring 可能用三级缓存绕过;构造器循环依赖往往会启动失败。能说到「我们拆接口 / 用事件解开」比背缓存字段名更有用。
如果简历写 Spring Boot,补一句:自动配置是条件装配,覆盖时用明确的 @Primary 或自己的 @Configuration,不要在生产靠偶然的扫描顺序。