【面试题解析】-- 20200303Java软件开发工程师面试题解析

1. 请谈一谈Spring中自动装配的方式有哪些?

  • no:不进行自动装配,手动设置Bean的依赖关系。
  • byName:根据Bean的名字进行自动装配。
  • byType:根据Bean的类型进行自动装配。
  • constructor:类似于byType,不过是应用于构造器的参数,如果正好有一个
  • Bean与构造器的参数类型相同则可以自动装配,否则会导致错误。
  • autodetect:如果有默认的构造器,则通过constructor的方式进行自动装配,否则使用byType的方式进行自动装配。

2. 请问Spring中Bean的作用域有哪些?

spring容器中的bean可以分为五个范围。所有范围的名称都是说明的,

  1. singleton:这种bean范围是默认的,这种范围确保不管接受到多个请求,每个容器中有一个bean的实例,单利模式由bean factory自身来维护。

  2. Protype:原先通过范围与单例范围相反,为每一个bean请求提供一个实例。

  3. request:在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成之后,bean会失效并被垃圾回收器回收。

  4. session:与请求范围类似,确保每个session中的bean的实例在session过期后bean会随之消失。

  5. global-session:global-session和portlet公用全局存储变量的话,那么这全局变量需要存储在global-session中。

3. 请问什么是IoC和DI?

IOC(控制反转):全称为:Inverse of Control。从字面上理解就是控制反转了,将对在自身对象中的一个内置对象的控制反转,反转后不再由自己本身的对象进行控制这个内置对象的创建,而是由第三方系统去控制这个内置对象的创建。
DI(依赖注入):全称为Dependency Injection,意思自身对象中的内置对象是通过注入的方式进行创建。

4. 请简单说明一下依赖注入的方式有哪几种?

依赖注入的方式有:set注入、bean注入、构造器注入。

5. 请说明一下MyBatis中命名空间(namespace)的作用是什么?

mybatis中的namespace主要用来建立配置文件与Mapper接口之间的关系,同时namespace也可以是一个标识符。

发布了132 篇原创文章 · 获赞 55 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43199016/article/details/104644955