zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【Spring】Spring面试题

2023-04-18 14:27:45 时间

Spring面试题

1、什么是Spring?

Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。


2、你们项目中为什么使用Spring框架?

这么问的话,就直接说Spring框架的好处就可以了。比如说Spring有以下特点:

  • 轻量: Spring是轻量的,基本的版本大约2MB。
  • 控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。
  • 面向切面的编程(AOP): Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
  • 容器: Spring包含并管理应用中对象的生命周期和配置。
  • MVC框架: Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。
  • 事务管理: Spring提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务 (JTA)。
  • 异常处理: Spring提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为致的unchecked异常。

3、@Resource和@Autowired的区别?

@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持注解的注入。

  • 共同点
    • 两者都可以写在字段和setter方法上,两者如果都写在字段上,那么就不需要再写setter方法。
  • 不同点
    • @Autowired
    • @Resource

4、依赖注入的方式有几种?


5、说一下你对Spring的核心模块的理解?


6、谈谈你对Spring的AOP的理解?


7、Spring的AOP和aspectj AOP的区别?


8、说说你对Spring的IOC的理解?


9、说说你对Spring的理解?


10、你觉得Spring的核心是什么?


11、说一下使用Spring的优势?


12、说说你对AOP的理解?


13、如何实现一个IOC容器?


14、说说你对IOC的理解?


15、BeanFactory和ApplicationContext有什么区别?


16、Spring是如何简化开发的?


17、简述Spring Bean生命周期?


18、什么是bean自动装配,它有哪些方式?


19、Spring事务的实现原理是什么?


20、Spring事务什么时候会失效?


21、Spring事务的隔离级别有哪些?


22、Spring框架中使用了哪些设计模式及应用场景?


23、Spring的事务传播机制是什么?


24、Spring框架中单例bean是线程安全的吗?


25、Spring支持的bean作用域有哪些?


26、谈谈Spring IOC的理解、原理与实现?


27、谈一下Spring IOC的底层实现?


28、描述一下bean的生命周期?


29、Spring是如何解决循环依赖的问题的?


30、缓存的放置时间和删除时间?


31、Bean Factory与FactoryBean有什么区别?


32、Spring中用到的设计模式?


33、Spring的AOP的底层实现原理?


34、Spring的事务是如何回滚的?


35、谈一下Spring的事务传播?