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(× )