-
什么是IOC?
答案:IOC就是控制反转,将创建对象的权力交给Spring容器管理,容器中的对象会称为bean,目的是为了解耦
-
什么是DI?有哪些方式?推荐用哪种?
答案:- DI就是依赖注入,它是IOC的具体实现,主要是负责维护对象之间的依赖关系。
- 有属性注入、构造注入、setter方法注入(老的spring项目才有,springboot项目没有setter注入了)和普通方法注入,一般说前三种就行了,也就是属性注入、构造注入、setter方法注入。 优先推荐构造器注入,虽然会产生循环依赖的问题,但是是可以规避的
-
@Autowired和@Resource的区别
答案:- 来源:@Autowired是 Spring 的,@Resource是 Java 标准的。
- 注入方式:@Autowired默认 byType,需@Qualifier指定名字,@Resource默认 byName,找不到再 byType。
- 其他:@Autowired有required=false,@Resource没有;@Autowired适用场景更广
-
你觉得你的优点和缺点是什么?
- 我觉得自己最大的优点是解决问题的思路比较清晰。三年开发里碰到过不少线上 bug 和性能瓶颈,我不会上来就乱改代码,而是先定位根因,比如用日志、断点排查,再针对性优化,最后还会复盘总结,避免再踩坑。
- 其次是执行力和协作意识还行,分配的开发任务能按排期推进,遇到和测试、产品的对接问题,也能主动沟通,不会让问题卡在自己这儿。 缺点
- 我目前的短板是在技术深度上还有提升空间。比如做微服务相关开发时,更多是用现成的框架组件,对底层的分布式事务、服务熔断降级的原理,理解得还不够透彻,最近也在看相关的源码和实战课程补这块 答案