Java面试题 3

1、【单选题】
(单选题)下面关于BeanFactory接口说法正确的是( )
A.BeanFactory是单例模式的实现,负责创建和管理bean
B.BeanFactory是工厂模式的实现,负责创建和管理bean
C.ApplicationContext类是它的实现类
D.以上说法都不对
【正确答案】B
【答案解析】此题考查BeanFactory

2、【单选题】
(单选题)下列切入点表达式错误的是 ()
A.* cn.itcast.aop.Demo.add()
B.* .*(…)
C.add(int)
D.int cn.itcast.Demo.add(int,int)
【正确答案】C
【答案解析】此题考察Spring的切入点表达式

3、【单选题】
(单选题)对于@Controller注解,说法正确的是( )。
A.仍然需要实现Controller接口。
B.可以提供多个处理方法。
C.处理方法的返回值必须是ModelAndView。
D.处理方法必须要有返回值。
【正确答案】B
【答案解析】使用@Controller来实现二级控制器,不再需要实现Controller接口了,可以提供多个处理方法,并且处理方法可以没有返回值(比如生成验证码),也可以返回ModelAndView或者String。

4、【单选题】
(单选题)下面关于在Spring中配置Bean的init-method的说法正确的是()
A.init-method是在最前面执行的
B.init-method在构造方法后,依赖注入前执行
C.init-method在依赖注入之后执行
D.init-method在依赖注入之后,构造函数之前执行
【正确答案】C
【答案解析】此题考查Spring中配置Bean的init-method

5、【单选题】
(单选题)下面关于设置注入优点说法正确的是( )
A.构造期即创建一个完整、合法的对象
B.需要写繁琐的setter方法的
C.对于复杂的依赖关系,设置注入更简洁,直观
D.以上说法都不对
【正确答案】C
【答案解析】此题考查对注入的理解

6、【单选题】
(单选题)看下面的代码,说法正确的是()
< bean id=“beforeAdvisor” class=“org.springframework.aop.support.RegexpMethodPointcutAdvisor”>
< property name=“advice”>
< ref local=“beforeImpl”>< /ref>
</ property>
< property name=“pattern”>
< value>.*< /value>
< /property>
< /bean>
A.这段代码是在定义目标对象
B.这段代码是在定义切入点
C.这段代码是在定义代理
D.这段代码是在定义织入
【正确答案】B
【答案解析】考查Spring理解

7、【单选题】
(单选题)Spring中Before通知的目标对象要实现的接口中before方法中的三个常用的参数依次是()
A.方法,方法的参数,目标对象
B.方法的参数,方法,目标对象
C.目标对象,方法,方法的参数
D.方法的参数,目标对象,方法
【正确答案】A
【答案解析】此题考查Spring中Before通知

8、【单选题】
(单选题)下面哪个不是Spring 常用的注解( )。
A.@Aspect
B.@Service
C.@Component
D.@Controller
E.@View
【正确答案】E
【答案解析】考察对spring的熟悉程度,除E选项之外都是较常用注解

9、【单选题】
(单选题)Spring中Before通知的目标对象要实现的接口是()
A.MethodBeforeAdvice
B.ThrowsAdvice
C.AfterReturningAdvice
D.MethodInterceptor
【正确答案】A
【答案解析】考查Spring中的Before通知

10、【单选题】
(单选题)下面关于构造注入优点说法错误的是( )
A.构造期即创建一个完整、合法的对象
B.不需要写繁琐的set方法的
C.对于复杂的依赖关系,构造注入更简洁,直观
D.在构造函数中决定依赖关系的注入顺序
【正确答案】C
【答案解析】此题考查构造注入

11、【单选题】
(单选题)关于浏览器中输入某个地址,直接访问资源访问地址,页面显示helloworld
以下哪个顺序是正确的()
1)创建Spring MVC 后端处理器(Controller)
2)创建spring maven web项目
3)部署运行spring web项目(tomcat)
4)Web.xml中配置Spring MVC 前端核心处理器(DispatcherServlet)
5)添加Spring MVC 依赖库(建议通过maven添加)
6)spring-mvc.xml文件中配置Spring后端处理器及视图解析器(ViewResolver)
7)添加Spring 配置文件spring-mvc.xml。
A.2-5-6-1-7-4-3
B.2-5-7-4-1-6-3
C.2-5-6-4-1-7-3
D.2-5-7-1-4-6-3
【正确答案】B
【答案解析】此题考查SpringMVC 中的细节

12、【单选题】
(单选题)将元数据配置到Spring容器,下面哪个方法是不正确的( )。
A.通过编组与解组对象
B.注解基础配置
C.Java基础配置
D.XML基础配置
【正确答案】A
【答案解析】有三种方式向Spring 容器提供元数据:1,XML配置文件;2,基于注解配置;3,基于Java的配置,死概念记住即可

13、【单选题】
(单选题)下面有关spring的依赖注入,说法错误的是( )。
A.依赖注入通常有如下两种:设值注入和构造注入:
B.构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入
C.当设值注入与构造注入同时存在时,先执行构造注入,再执行设值注入
D.设值注入是指IoC容器使用属性的setter方法来注入被依赖的实例。这种注入方式比较简单、直观
【正确答案】C
【答案解析】用构造函数依赖注入时,Spring保证一个对象所有依赖的对象先实例化后,才实例化这个对象。
使用set方法依赖注入时,Spring首先实例化对象,然后才实例化所有依赖的对象。
当设值注入与构造注入同时存在时,先执行设值注入,再执行构造注入。
所以C是错误的

14、【单选题】
(单选题)与以下给出的相关组件关系对应正确的是()
1)DispatcherServlet
2)SimpleUrlHandlerMapping
3)HelloController
4)ModelAndView
5)InternalResourceViewResolver
A.1)又称之为handler,处理客户端请求
2)记录url到handler的映射
3)核心前端处理(负责流程调度)
4)负责视图解析,基于view找到具体的
view对象,例如hello.jsp
5)封装数据以及对应的视图
B.1)核心后端处理(负责流程调度)
2)又称之为handler,处理客户端请求
3)记录url到handler的映射
4)负责视图解析,基于view找到具体的
5)封装数据以及对应的视图
view对象,例如hello.jsp
C.1)核心前端处理(负责流程调度)
2)又称之为handler,处理客户端请求
3)记录url到handler的映射
4)负责视图解析,基于view找到具体的view对象,例如hello.jsp
5)封装数据以及对应的视图
D.1)核心前端处理(负责流程调度)
2)记录url到handler的映射
3)又称之为handler,处理客户端请求
4)封装数据以及对应的视图
5)负责视图解析,基于view找到具体的
view对象,例如hello.jsp
【正确答案】D
【答案解析】此题考查对SpringMVC流程的理解

15、【单选题】
(单选题)项目中有如下包结构和类:
|- com
|- tarena
|- service
UserService(接口)
|-impl
UserServiceImpl(实现)
在配置切点时给出了如下切点表达式,问使用getBean从spring容器中获取对象时,是否会创建代理对象
A.切点表达式为 within(com.tarena.)
UserServiceImpl 是代理
B.切点表达式为 within(com.tarena.service…
)
UserServiceImpl 是代理
C.切点表达式为 execution(* com.tarena.service..(…))
UserServiceImpl 不是代理
D.切点表达式为 execution(* com.tarena….(…))
UserServiceImpl 不是代理
【正确答案】B
【答案解析】此题考查AOP 中切点表达式

16、【单选题】
(单选题)看下面的代码,说法正确的是()
< bean id=“userTable” class=“com.xfaccp.bean.UserTable”>
< property name=“userName”>
< value>ACCP< /value>
< /property>
< /bean>
A.其中< property name=“userName”>的userName是UserTable中的属性,可以不要get、set方法。
B.其中< property name=“userName”>的userName是UserTable中的属性,可以不要get方法,但是一定要有set方法
C.其中< property name=“userName”>的userName是UserTable中的属性,可以不要set方法,但是一定要有get方法
D.其中< property name=“userName”>的userName是UserTable中的属性,一定要有get和set方法
【正确答案】B
【答案解析】此题考查Spring中基于XML的配置

17、【单选题】
(单选题)下面关于Spring管理Bean的说法正确的是( )
A.Bean在Spring容器中有两种管理方式,工厂模式和单例模式
B.Bean在 Spring容器中有两种管理方式,原型模式和单例模式
C.Spring默认的利用工厂模式管理Bean
D.Spring默认利用原型模式管理Bean
【正确答案】B
【答案解析】此题考查Spring管理Bean

18、【单选题】
(单选题)在web.xml文件中配置Spring框架,下面配置正确的是()
A.< context-param>
< param-name>config< /param-name>
< param-value>/WEB-INF/classes/applicationContext.xml< /param-value>
< /context-param>
B.< context-param>
< param-name>servletConfig< /param-name>
< param-value>/WEB-INF/classes/applicationContext.xml< /param-value>
< /context-param>
C.< context-param>< param-name>contex;< param-value>/WEB-;< /context-param>;
D.< context-param>;< param-name>contex;< param-value>/WEB-;< /context-param>;
【正确答案】D
【答案解析】此题考查Spring框架中XML 文件配置

19、【单选题】
(单选题)SpringMVC 请求一个控制层资源时,可以在对应方法中()
A.可以直接使用参数变量接收参数数据,参数变量的类型不一定为对象类型
B.直接使用参数变量接收参数数据,但参数变量的类型要为对象类型
C.可以直接使用参数变量接收参数数据,参数变量的类型要根据实际情况选择。
D.不能直接使用参数变量接收参数数据
【正确答案】B
【答案解析】此题考查参数变量的接收问题

20、【单选题】
(单选题)mybatis编程步骤是什么样的?
A、通过SQLSessionFactory创建SqlSession SqlSession openSession
= sqlSessionFactory.openSession();
B、创建SqlSessionFactory SqlSessionFactory sqlSessionFactory
= new SqlSessionFactoryBuilder().build(inputStream);
C、通过sqlsession执行数据库操作
D、调用session.commit()或session.rollback()
E、调用session.close()关闭会话
下面执行顺序正确的是:
A. A B C D E
B. B A C D E
C .A B C E D
D. A C B D E
【正确答案】B
【答案解析】此题考查Mybatis编程步骤

21、【单选题】
(单选题)Spring中around通知的目标对象要实现的接口是()
A.MethodBeforeAdvice
B.ThrowsAdvice
C.AfterReturningAdvice
D.MethodInterceptor
【正确答案】D
【答案解析】此题考查Spring中的around通知

22、【单选题】
(单选题)Spring注入的bean默认被配置为以下哪一个作用域( )。
A.原型 (Prototype)
B.会话 (session)
C.单例 (singleton)
D.请求 (request)
【正确答案】C
【答案解析】spring中注入的bean默认被配置为单例模式,意味着对于同一个类而言,其所有的被注入对象其实都是同一个对象。但是对于对象中含有一些状态属性的情况,我们并不想要singleton。spring中提供了四种作用域就是(A,B,D)答案

23、【单选题】
(单选题)Spring中around通知的目标对象要实现的接口中invoke中方法的参数是()
A.方法
B.目标对象
C.方法执行参数
D.Exception
【正确答案】C
【答案解析】此题考查Spring中around通知

24、【多选题】
(多选题)下面关于IOC的理解,正确的是()
A.控制反转
B.对象被动的接受依赖类
C.对象主动的去找依赖类
D.一定要用接口
【正确答案】A,B
【答案解析】此题考查SpringIOC 基本概念

25、【多选题】
(多选题)关于获取请求参数值,说法正确的是( )。
A.Spring会自动将表单参数注入到方法参数(名称一致)。
B.使用@RequestParam注解,映射不一致的名称。
C.使用自动机制封装成Bean对象。
D.参数类型自动转换,不会产生类型转换异常。
【正确答案】A,B,C
【答案解析】本题考查在二级控制器(Controller)中如何获取请求参数值,要注意的是,类型转换有可能出错,需要编程处理,故答案D是错误。

26、【多选题】
(多选题)对于基于注解配置的springmvc应用,说法正确的是( )。
A.@RequestMapping可以用在类定义和方法定义上。
B.@RequestMapping表明这个类或方法与客户的哪一个请求对应。
C.< mvc:annotation-driven/>表示开启组件扫描。
D.使用@Controller注解声明Controller组件,这样可以使得Controller定义更加灵活,可以不用实现Controller接口,请求处理的方法也可以灵活定义。
【正确答案】A,B,D
【答案解析】本题考查基于注解的springmvc应用的基本使用步骤的掌握。< mvc:annotation-driven/>表示开启mvc注解扫描,答案C是错误的。

27、【多选题】
(多选题)下面关于在Spring中配置Bean的name属性的说法正确的是()
A.name属性是必须,没有name属性就会报错
B.name属性不是必须的,可以没有
C.name属性的值可以重复
D.name属性的值不可以重复
【正确答案】B,D
【答案解析】此题考查Spring中的name属性

28、【多选题】
(多选题)SpringMVC中DispatcherServlet的功能()
A.负责接收HTTP请求
B.加载配置文件
C.实现业务逻辑操作
D.web服务器的入口
【正确答案】A,B,D
【答案解析】此题考查SpringMVC中DispatcherServlet的功能

29、【多选题】
(多选题)Springmvc中,向页面传值,哪些说法是正确的( )。
A.在Controller方法中可以直接使用session对象向页面传值。
B.在Controller方法中必须通过request对象来获得session对象。
C.使用ModelAndView对象传值时,会利用HttpSession 的 Attribute传递到JSP页面中。
D.@ModelAttribute注解在Controller方法的参数部分或Bean属性方法上使用。
【正确答案】A,D
【答案解析】在Controller方法中,可以使用直接session对象,故B是错误的,使用ModelAndView对象传值时,会利用request的attribute传递到jsp页面,故C是错误的。

30、【多选题】
(多选题)SpringMVC配置文件中说法正确的是: ()
A.配置文件有默认的名称
B.配置文件的名称可以修改,但必须在过滤器中配置
C.配置文件中需要配置视图解析器
D.配置文件上传解析器时,id可以是任意的.
【正确答案】A,C
【答案解析】此题考查SpringMVC配置文件

31、【多选题】
(多选题)SpringMVC中关于传值说法正确的是()
A.参数列表中的参数名称应该与页面中name名称匹配
B.如果是同名提交会自动封装为字符串或数组
C.如果用对象接收,对象的属性可以没有get和set方法
D.参数可以直接接收yyyy-MM-dd格式的日期
【正确答案】A,B
【答案解析】此题考查SpringMVC中的传值问题

32、【多选题】
(多选题)在SpringMVC 中,过滤器与拦截器有什么异同点()
A.都可以对请求进行预处理
B.对请求进行预处理的时间相同
C.对请求进行预处理的时间不同.
D.当请求由DispatcherServlet派发到具体Controller之前首先要执行过滤器中一些相关方法
【正确答案】A,C
【答案解析】D选项中首先要执行的是拦截器中的方法

33、【多选题】
(多选题)JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
A.数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
B.Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
C.向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。
D.对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
【正确答案】A,B,C,D
【答案解析】MyBatis实现原理

34、【多选题】
(多选题)下面关于@Resource注解说法正确的是
A.@Resource 注解可以用在字段上也可以用在set方法上
B.@Resource 注解默认按照类型进行装配
C.@Resource(name=“personDao”)注解表示用personDao的名称去查找bean的id节点的值是personDao的对象
D.@Resource注解默认按照名称进行装配
【正确答案】A,C,D
【答案解析】此题考查对Resource注解的使用

35、【多选题】
(多选题)下面关于AOP的理解正确的是( )
A.能够降低组件之间的依赖关系
B.将项目中的公共的问题集中解决,减少代码量,提高系统的可维护性
C.AOP是面向对象的代替品
D.AOP不是面向对象的代替品,是面向对象很好的补充
【正确答案】B,C
【答案解析】此题考查对AOP的理解

36、【多选题】
(多选题)下面关于Spring的说话正确的是( )
A.Spring是一个重量级的框架
B.Spring是一个轻量级的框架
C.Spring是一个IOC和AOP容器
D.Spring是一个入侵式的框架
【正确答案】B,C
【答案解析】此题考查Spring基本概念

37、【多选题】
(多选题)REST即表述性状态传递,是一种软件架构编码风格,是基于网络应用进行设计和开发的编码方式,以下对于REST风格使用正确的有()
A.@RequestMapping("/msg/{xxx}")
请求的URL可以是“/msg/hello”或“/msg/welcome”
B.@RequestMapping("/msg/{id}/create"):
请求的URL可以是“/users/1/create”
C.@RequestMapping("/{xxx}/{id}/name/{tld}"):
请求的URL可以是“/users/1/create/2”
D.@RequestMapping("/msg/{mId}/topics/{tId}")
请求的URL可以是“/users/10/topics/12”
【正确答案】A,B,D
【答案解析】通过@PathVariable可以提取URI模板模式中的{×××}中的×××变量。

38、【多选题】
(多选题)SpringMVC和Spring说法正确的:()
A.SpringMVC是Spring的子级容器
B.SpringMVC容器启动必需依赖Spring容器
C.SpringMVC中可以注入Spring容器的对象
D.Spring中可以注入SpringMVC容器中的对象
【正确答案】A,C
【答案解析】此题考查Spring与SpringMVC的关系

39、【多选题】
(多选题)Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?
A.< resultMap>
B.< include>
C.< sql>
D.< resultType>
【正确答案】A,B,C
【答案解析】< resultMap>< include>< sql>

40、【多选题】
(多选题)以下属于SpringMVC核心组件的是
A.DispatcherServlet
B.HandlerMappin
C.Controller
D.ModelAndView
E.ViewResolver
【正确答案】A,B,C,D,E
【答案解析】此题考查SpringMVC 基本概念

41、【多选题】
(多选题)下面是BeanFactory的实现类的是( )
A.ClassPathXmlApplicationContext
B.ApplicationContext
C.FileSystemXmlApplicationContext
D.以上都是
【正确答案】A,C
【答案解析】考查Spring原理

42、【多选题】
(多选题)Spring中ApplicationContext能够用到的Bean的作用域都有哪些?
A.Singleton
B.Prototype
C.Session
D.Response
【正确答案】A,B,C
【答案解析】ABC

43、【多选题】
(多选题)下面关于Spring配置文件说话正确的是()
A.Spring配置文件必须叫applicationContext.xml
B.Spring配置文件可以不叫applicationContext.xml
C.Spring配置文件可以有多个
D.Spring配置文件只能有一个
【正确答案】B,C
【答案解析】此题考查Spring基础配置

44、【多选题】
(多选题)MyBatis 框架在实现数据的持久化操作时,需要关注了解的核心配置及对象解释正确的是
A.Configs(xml) :配置文件&映射文件(mapper)
B.SqlSessionFactoryBuilder :加载配置文件,创建SQLSessionFactory对象
C.SqlSessionFactory :负责创建session对象
D.SqlSession :负责执行SQL操作
【正确答案】A,B,C,D
【答案解析】此题考查Mybatis基本概念

45、【多选题】
(多选题)下列关于IoC,说法正确的是( )。
A.IoC全称是Inversion of Control,直译为控制反转。
B.IoC可以很方便地为bean提供事务管理等基础服务
C.IoC是指程序中对象的获取方式发生反转,由最初的new方式创建,转变为由第三方框架创建、注入(DI),它降低了对象之间的耦合度。
D.Spring容器是采用DI方式实现了IOC控制。
【正确答案】A,C,D
【答案解析】ACD

46、【多选题】
(多选题)下面是Spring依赖注入方式的是( )
A.set方法注入
B.构造方法的注入
C.get方法的注入
D.接口的注入
【正确答案】A,B
【答案解析】此题考查Spring的两种依赖注入IOC 方式

47、【多选题】
(多选题)向页面传值有哪些方式( )。
A.直接使用HttpServletRequest和Session。
B.使用ModeAndView对象。
C.使用ModelMap参数对象
D.使用@ModelAttribute注解
【正确答案】A,B,C,D
【答案解析】以上四种均是向页面传值的几种方式

48、【多选题】
(多选题)针对以下配置,说法正确的是( )。
< context:component-scan
base-package=“com.tarena”/>
A.这是配置组件扫描。
B.容器只会扫描com.tarena的包下面的类
C.容器会扫描com.tarena包及其子包下面的类。
D.组件扫描可以替代大量XML配置的定义。
【正确答案】A,C,D
【答案解析】本题考查组件扫描的基本配置,要注意,容器会扫描指定包及其子包下面的所有类,如果这些类包含了特定的注解,容器会将其纳入容器进行管理,所以B是错误的。注解的好处之一,就是简化了配置文件,所以D是正确的。

49、【多选题】
(多选题)看下面的代码,说法正确的是()
<bean id=“user" class=“com.xfaccp.bean.User">< /bean>
< constructor-arg>
< value>accp< /value>
< /constructor-arg>
< /bean>
A.必须要有一个接受字符串的构造方法
B.可以没有接受一个字符串的构造方法
C.这个类有且只能有一个只接受一个字符串的构造方法
D.这个类可以有多个构造方法,但是一定要有一个只接受一个字符串的构造方法
【正确答案】A,D
【答案解析】此题考查SpringIOC

50、【多选题】
(多选题)关于JoinPoint描述正确的是
A.JoinPoint是连接点,客户端调用哪个方法,哪个方法就是连接点
B.根据连接点能够获取到方法的参数的类型
C.根据连接点能够获取到目标方法的名称
D.JoinPoint能够调用目标方法
【正确答案】A,B,C
【答案解析】此题考查Spring中的连接点

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值