1.Maven项目对象模型(POM),能够经过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具(√ )(官方话)html
构建项目,管理架包,依赖关系java
2.Maven能够构建项目和管理依赖Jar包(√ )web
3.设置远程仓库的标签元素是mirror(√ )spring
Mirror是制定镜像站点,例如: sql
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
mirrorof标签解释:
配置成* 就表明咱们经过访问阿里云的maven仓库从而访问网路上全部的远程仓库,若是配置成central,就表明咱们经过阿里云访问central仓库,及http://central.maven.org/maven2,若是配置成repo1,就表明经过阿里云访问http://repo1.maven.org/maven2,阿里云和这些远程仓库之间必须能够镜像,存在必定的镜像关系。数据库
4.Spring默认是读取/WEB-INF/applicationContext.xml配置文件(√ )编程
spring源码解析之默认配置文件名/WEB-INF/applicationContext.xml。json
首先查看工程中的 web.xml,其中配置 spring的代码以下:缓存
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> <description>Spring配置文件初始化WebApplicationContext</description> <contextClass></contextClass> <!-- 自定义 --> </context-param> <!-- spring 配置 对应的是[org.springframework.web] 属于spring-web JAR包 applicationContext.xml 汇总多个 配置文件--> <!-- spring 装载器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
其中 参数名 contextConfigLocation 就是描述spring配置文件初始化的位置。mybatis
那我们就从 spring 装载器 listener-class 的 ContextLoaderListener.java 查询结果
5.Spring的配置文件能够配置在类路径下,并能够重命名,可是须要在web.xml文件中指定(× )
6.把applicationContext.xml文件放到src目录下,Spring也能够读到(√ )
applicationContext.xml的两种加载方式
第一种:直接将之放到/WEB-INF下,在web.xml中声明一个listener;
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>
默认的路径是/WEB-INF/applicationContext.xml
第二种:将之放到classpath下,但此时要在web.xml中加入,用它来指明你的applicationContext.xml的位置以供web容器来加载。按照Struts2 整合spring的官方给出的档案,写成:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value> /WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml </param-value>
</context-param>
可能有的项目会把applicationContext.xml文件放在WEB-INF下,那若是我要改到src下应该怎么设置呢? 只须要在web.xml文件中加上
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
7.能够经过在web.xml中的<context-param><param-name>和<param-value>进行指定Spring配置文件(√ )
8.IoC就是指程序之间的关系由程序代码直接操控(× )
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,能够用来减低计算机代码之间的耦合度。
其中最多见的方式叫作依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。
经过控制反转,对象在被建立的时候,由一个调控系统内全部对象的外界实体将其所依赖的对象的引用传递给它。也能够说,依赖被注入到对象中。
Class A中用到了Class B的对象b,通常状况下,须要在A的代码中显式的new一个B的对象。
采用依赖注入技术以后,A的代码只须要定义一个私有的B对象,不须要直接new来得到这个对象,而是经过相关的容器控制程序来将B对象在外部new出来并注入到A类里的引用中。而具体获取的方法、对象被获取时的状态由配置文件(如XML)来指定。
9.IoC将控制建立的职责搬进了框架中,从应用代码脱离开来( √)
IoC模式,系统中经过引入实现了IoC模式的IoC容器,便可由IoC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的配置和依赖性规范与实际的应用程序代码分离。
依赖查找:容器提供回调接口和上下文条件给组件。EJB和Apache Avalon 都使用这种方式。这样一来,组件就必须使用容器提供的API来查找资源和协做对象,仅有的控制反转只体如今那些回调方法上(也就是上面所说的 类型1):容器将调用这些回调方法,从而让应用代码得到相关资源。
依赖注入:组件不作定位查询,只提供普通的Java方法让容器去决定依赖关系。容器全权负责的组件的装配,它会把符合依赖关系的对象经过JavaBean属性或者构造函数传递给须要的对象。经过JavaBean属性注射依赖关系的作法称为设值方法注入(Setter Injection);将依赖关系做为构造函数参数传入的作法称为构造器注入(Constructor Injection)。
10.Bean在 Spring容器中有两种管理方式,原型模式和单例模式(√ )
spring单例Bean
在spring中的Bean缺省的状况下是单例模式的,在spring容器中分配Bean的时候(不管经过getBean()仍是经过依赖注入(IOC)),它老是返回同一个Bean的实例,若是你想每次向上下文请求一个bean的时候,老是获得一个不一样的实例,或者想每次想从spring容器中获得一个bean的不一样实例,须要将bean定义为原型模式,定义为原型模式意味着你是定义一个bean的类,而不是一个单一的bean的实例,bean的实例都是按照这个类而建立的。
spring原型Bean
在spring中<bean>的singleton属性告诉上下文这个bean是原型bean或者是单例bean。bean的缺省值为true,若是设为false的话,就把这个bean定义成了原型bean。
例如:<bean id=”test” class=”demo.Demo” singleton=”false” />
Spring 单例Bean和Java单例模式的区别
Spring的单例是基于BeanFactory也就是spring容器,单例Bean在此Spring容器内是单个的,Java的单例是基于JVM,每一个JVM内一个单例。
11.AOP是面向对象的代替品(× )
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,好比日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。
AOP的基本概念
(1)Aspect(切面):一般是一个类,里面能够定义切入点和通知
(2)JointPoint(链接点):程序执行过程当中明确的点,通常是方法的调用
(3)Advice(通知):AOP在特定的切入点上执行的加强处理,有before,after,afterReturning,afterThrowing,around
(4)Pointcut(切入点):就是带有通知的链接点,在程序中主要体现为书写切入点表达式
(5)AOP代理:AOP框架建立的对象,代理就是目标对象的增强。Spring中的AOP代理可使JDK动态代理,也能够是CGLIB代理,前者基于接口,后者基于子类
12.Spring只能使用JDK动态代理(× )
Spring中的AOP代理仍是离不开Spring的IOC容器,代理的生成,管理及其依赖关系都是由IOC容器负责,Spring默认使用JDK动态代理,在须要代理类而不是代理接口的时候,Spring会自动切换为使用CGLIB代理,不过如今的项目都是面向接口编程,因此JDK动态代理相对来讲用的仍是多一些。
13.使用RequestMapping把某个请求路径映射到特定的方法上(√ )
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的全部响应请求的方法都是以该地址做为父路径。
类定义处: 提供初步的请求映射信息。相对于 WEB 应用的根目录;方法处: 提供进一步的细分映射信息。 相对于类定义处的 URL。
若类定义处未标注 @RequestMapping,则方法处标记的 URL相对于 WEB 应用的根目录。返回ModelAndView时的url会根据你的 @RequestMapping实际状况组成。
若是类上没有映射,那么url直接就是方法的映射;不然url为类上+方法上映射路径组合。
对应项目jsp位置则是一级路径对应一级文件目录。如url为/default/index
对应项目中webapp/default/index.jsp
14.Spring也可使用CGLIB代理(√ )
15.能够在Spring中注入一个null和一个空字符串(√ )
16.Spring除了经过xml配置之外还可使用注解配置(√ )
17.在Spring中,能够经过setter方法实现了依赖注入(√ )
18.ORM是针对数据持久化的工具(√ )
ORM的全称是:Object Relational Mapping (对象 关系 映射)
简单的说,orm是经过使用描述对象和数据之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
ORM须要解决的问题是,可否把对象的数据直接保存到数据库中,又可否直接从数据库中拿到一个对象?要想作到上面两点,则必需要有映射关系。
19.SqlSessionFactory是执行持久化操做的对象(√ )
String filepath = "mybatis.xml"; InputStream str = Resources.getResourceAsStream(filepath); SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(str); SqlSession ss = ssf.openSession();
20.在Mybatis中,咱们使用InputStream取读取配置文件( √)
21.Mapper的意思为数据源(× )
映射器; 映射对象; 映像器; 映射程序; 变换器;
22.Mybatis当中,设置数据源类型有4种方式(× )
23.在Mybatis当中,Mapper的做用是映射sql文件( √)
24.MyBatis里面的核心处理类叫作SqlSession(√ )
25.咱们能够经过resource/package/url 的方式配置Mapper文件(√ )
26.Mybatis是一个半自动的ORM框架(√ )
27.Spring AOP中,不只支持方法上的链接点,还支持属性上的链接点(× )
Spring仅支持方法的链接点,即仅能在方法调用前、方法调用后、方法抛出异常时以及方法调用先后这些程序执行点织入加强。
链接点由两个信息肯定:第一是用方法表示的程序执行点;第二是用相对点表示的方位。
28.Mybatis是MVC中的M,表示持久层(√ )
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎全部的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
29.Mybatis是基于JDBC的高度封装(√ )
30.RespsoneBody注解是用来映射请求路径的(× )
该注解用于将Controller的方法返回的对象,经过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:返回的数据不是html标签的页面,而是其余某种格式的数据时(如json、xml等)使用;
31.ModelAndView的做用是传递参数(× )
ModelAndView对象有两个做用:
做用一 设置转向地址
ModelAndView view = new ModelAndView("path:ok");
做用二 用于传递控制方法处理结果数据到结果页面,也就是说咱们把须要在结果页面上须要的数据放到ModelAndView对象中便可,他的做用相似于request对象的setAttribute方法的做用,用来在一个请求过程当中传递处理的数据。经过如下方法向页面传递参数:addObject(String key,Object value);
在页面上能够经过el变量方式$key或者bboss的一系列数据展现标签获取并展现ModelAndView中的数据。
32.请求转发是经过Redirect来实现(× )
在返回值前面加"forward:"就可让结果转发,譬如"forward:user.do?name=method4" 在返回值前面加"redirect:"就可让返回值重定向,譬如"redirect:http://www.baidu.com"
33.ModelAndView是把参数存到了Session中(× )
34.Mybatis不支持多数据源配置(× )
35.Mybatis只支持xml配置Mapper(× )
36.Mybatis不支持缓存(× )
37.MyBatis里面的核心处理类叫作SqlSession(√ )
38.SpringMVC中的核心类式DefaultServlet(× )
39.Servlet的做用是接受请求处理响应(√ )
40.Mybatis不支持动态SQL(× )