在线考试本次考试得分:36.01.(单选题)下列关于Spring配置文件的说法不正确的是oA.Spring默认是读取/WEB-INF/applicationContext.xml配置文件oB.Spring的配置文件可以配置在类路径下,并可以重命名,但是需要在web.xml文件中指定oC.把applicationContext.xml文件放到src目录下,Spring也可以读到oD.可以通过在web.xml中的context-paramparam-name和param-value进行指定Spring配置文件正确答案:C把applicationContext.xml文件放到src目录下,需要在web。xml里设置context-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/classes/applicationContext.xml/param-value/context-param可以让spring读到2.(单选题)下列关于Spring特性中IoC描述错误的是oA.IoC就是指程序之间的关系由程序代码直接操控oB.所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移oC.IoC将控制创建的职责搬进了框架中,从应用代码脱离开来oD.使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它正确答案:AIOC是来完成相互依赖的对象的创建、协调工作。3.(单选题)下列关于Spring的装配模式(default-autowire)描述不正确的是oA.Spring中,至少有两种装配模式,按“类型”和“名字”oB.Spring中默认是按名字进行装配的oC.可以用default-autowire=”byType”配置按类型装配oD.一旦在一个Spring配置文件中配置了default-autowire=”byType”,其它的配置文件也是按此种装配方式进行装配正确答案:D在beans/beans标签中指定default-autowire属性,那么对于子标签bean/bean如果没有单独的设置autowire属性,那么将采用父标签beans/beans的default-autowire属性的模式,如果单独设置了autowire属性,则采用自己的模式4.(单选题)下列选项关于Spring的核心机制——依赖注入的描述正确的是oA.所谓依赖注入就是明确地定义组件接口,独立开发各个组件,然后根据组件间的依赖关系组装运行的设计开发模式oB.Spring不负责管理bean之间的关系oC.bean节点有可选的property子节点,用于注入bean的属性oD.在Spring的配置文件中,使用bean来创建Bean的实例正确答案:BSpring通过一个配置文件描述Bean及Bean之间的依赖关系,利用java语言的反射功能实例化Bean并建立Bean之间的依赖关系。spring的ioc容器在完成这些底层工作的基础上,还提供了bean实例缓存,生命周期管理,bean实例代理,事件发布,资源装载等高级服务5.(单选题)分析下面的Spring配置代码,可以推断下列Java语句的运行结果是Java语句如下:ApplicationContextcontext=newClassPathXmlApplicationContext(di.xml);System.out.println(((B)context.getBean(b)).getM());Spring配置代码如下:beanid=aclass=Apropertyname=mvalue=1//beanbeanid=bclass=Bparent=apropertyname=nvalue=2//beanoA.编译错误oB.什么也不输出oC.输出:1oD.输出:2正确答案:CclassA为classB的父类6.(单选题)在Spring中,可以通过()方式实现了依赖注入oA.getter方法oB.setter方法oC.自定义赋值方法oD.静态方法正确答案:B依赖注入的方式有二种,构造方法属性注入和set方法属性注入7.(单选题)在Spring配置文件di.xml中包含如下的代码beanid=testclass=Testpropertyname=ivalue=100//bean由此可以推断出oA.o可以通过如下代码获取Test的实例oApplicationContextcontext=newClassPathXmlApplicationContext(di.xml);Testtest=(Test)content.getBean(test);oB.o可以通过如下代码获取i的值oApplicationContextcontext=newClassPathXmlApplicationContext(di.xml);inti=(int)content.getBean(i);oC.Test肯定实现了一个接口oD.Test中一定存在getI()方法正确答案:A实例化对象IOC的四种方式:无参构造,静态工厂,单例工厂,spring工厂8.(单选题)Spring中Before通知的目标对象要实现的接口是oA.MethodBeforeAdviceoB.ThrowsAdviceoC.AfterReturningAdviceoD.MethodInterceptor正确答案:AMethodBeforeAdvice9.(单选题)Spring中Before通知的目标对象要实现的接口中before方法中的三个常用的参数依次是oA.方法,方法的参数,目标对象oB.方法的参数,方法,目标对象oC.目标对象,方法,方法的参数oD.方法的参数,目标对象,方法正确答案:A方法,方法的参数,目标对象10.(单选题)Spring中around通知的目标对象要实现的接口中invoke中方法的参数是oA.方法oB.目标对象oC.方法执行参数oD.Exception正确答案:C方法执行参数11.(单选题)下面关于在Spring中配置Bean的init-method的说法正确的是oA.init-method是在最前面执行的oB.init-method在构造方法后,依赖注入前执行oC.init-method在依赖注入之后执行oD.init-method在依赖注入之后,构造函数之前执行正确答案:Cspring容器初始化bean和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct和@PreDestroy方法实现初始化和销毁bean之前进行的操作。第二种是:通过在xml中定义init-method和destory-method方法。第三种是:通过bean实现InitializingBean和DisposableBean接口。12.(单选题)看下面的代码,说法正确的是()beanid=beforeAdvisorclass=org.springframework.aop.support.RegexpMethodPointcutAdvisorpropertyname=advicereflocal=beforeImpl//propertypropertyname=patternvalue.*/value/property/beanoA.这段代码是在定义目标对象oB.这段代码是在定义切入点oC.这段代码是在定义代理oD.这段代码是在定义织入正确答案:B参见springaop课堂笔记13.(多选题)下面关于在Spring中配置Bean的id属性的说法正确的是oA.id属性是必须,没有id属性就会报错oB.id属性不是必须的,可以没有oC.id属性的值可以重复oD.id属性的值不可以重复正确答案:BD参照springioc14.(单选题)关于SpringMVC的核心控制器DispatcherServlet的作用,以下说法错误的是oA.它负责接收HTTP请求oB.加载配置文件oC.实现业务操作oD.初始化上下应用对象ApplicationContext正确答案:CSpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handle进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染,并把数据装入到request域,返回给用户。DiapatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据用户的请求返回相应的视图给用户。实现业务在service层,所以c答案错误15.(单选题)将一个请求url指向一个类的方法的注解是oA.@RequestMappingoB.@RequestParamoC.@SessionAttributeoD.DispatcherServlet正确答案:A将一个请求url指向一个类的方法的注解是(@RequestMapping)16.(多选题)Bean的基本配置中,如果有诸如List,Set,Map和Properties的属性,那么可以通过下述哪些对应的标签来配置?oA.list/oB.set/oC.map/oD.props/正确答案:ABCD四项都对17.(多选题)对下面使用Spring依赖注入的代码,下面说法错误的是ApplicationContextcontext=newClassPathXmlApplicationContext(di.xml);Printerprinter=(Printer)context.getBean(printer);oA.配置文件di.xml位于classpath目录下oB.在di.xml中定义了一个id或name为printer的beanoC.context.getBean()返回的是printer类型的对象,不需要强制转换类型oD.di.xml被修改后,context会自动重新加载正确答案:CD参见springdi笔记18.(单选题)SpringMVC中有一个servlet,是通过它来将前端的请求分发到各控制器的,这个servlet的名字是oA.DispatcherServletoB.ApplicationContextoC.SessionAttributeoD.Controller正确答案:ASpringMVC中有一个servlet,是通过它来将前端的请求分发到各控制器的,这个servlet的名字是(DispatcherServlet)19.(多选题)Spring中的@AspectJ切点表达式函数都有哪些?oA.方法切点函数oB.方法入参切点函数oC.目标类切点函数oD.代理类切点函数正确答案:ABCD参见springaop笔记20.(多选题)Spring的AOP的动态代理机制都有哪些?oA.CGLib库oB.JDK动态代理oC.Proxy代理oD.Auto代理正确答案:AB参见springaop21.(简答题)SpringMVC运行原理正确答案:前端控制器DispatcherServlet,映射控制器HandlerMapping,ModelAndView,视图解析器ViewResolver参见springmvc流程图22.(简答题)MyBatis原理,为什么使用?正确答案:封装了JDBC操作,将SQL查询结果映射为对象,解析SqlMapConfig.xm