- 相關(guān)推薦
Java面試-關(guān)于Spring面試題及答案
Spring 是個(gè)Java企業(yè)級應用的開(kāi)源開(kāi)發(fā)框架。以下是百分網(wǎng)小編搜索整理的69道關(guān)于Spring面試題及答案,供參考借鑒,希望對大家有所幫助!想了解更多相關(guān)信息請持續關(guān)注我們應屆畢業(yè)生考試網(wǎng)!

1. 什么是spring?
Spring 是個(gè)Java企業(yè)級應用的開(kāi)源開(kāi)發(fā)框架。Spring主要用來(lái)開(kāi)發(fā)Java應用,但是有些擴展是針對構建J2EE平臺的web應用。Spring 框架目標是簡(jiǎn)化Java企業(yè)級應用開(kāi)發(fā),并通過(guò)POJO為基礎的編程模型促進(jìn)良好的編程習慣。
2. 使用Spring框架的好處是什么?
輕量:Spring 是輕量的,基本的版本大約2MB。
控制反轉:Spring通過(guò)控制反轉實(shí)現了松散耦合,對象們給出它們的依賴(lài),而不是創(chuàng )建或查找依賴(lài)的對象們。
面向切面的編程(AOP):Spring支持面向切面的編程,并且把應用業(yè)務(wù)邏輯和系統服務(wù)分開(kāi)。
容器:Spring 包含并管理應用中對象的生命周期和配置。
MVC框架:Spring的WEB框架是個(gè)精心設計的框架,是Web框架的一個(gè)很好的替代品。
事務(wù)管理:Spring 提供一個(gè)持續的事務(wù)管理接口,可以擴展到上至本地事務(wù)下至全局事務(wù)(JTA)。
異常處理:Spring 提供方便的API把具體技術(shù)相關(guān)的異常(比如由JDBC,Hibernate or JDO拋出的)轉化為一致的unchecked 異常。
3. Spring由哪些模塊組成?
以下是Spring 框架的基本模塊:
Core module
Bean module
Context module
Expression Language module
JDBC module
ORM module
OXM module
Java Messaging Service(JMS) module
Transaction module
Web module
Web-Servlet module
Web-Struts module
Web-Portlet module
4. 核心容器(應用上下文) 模塊。
這是基本的Spring模塊,提供spring 框架的基礎功能,BeanFactory 是 任何以spring為基礎的應用的核心。Spring 框架建立在此模塊之上,它使Spring成為一個(gè)容器。
5. BeanFactory – BeanFactory 實(shí)現舉例。
Bean 工廠(chǎng)是工廠(chǎng)模式的一個(gè)實(shí)現,提供了控制反轉功能,用來(lái)把應用的配置和依賴(lài)從正真的應用代碼中分離。
最常用的BeanFactory 實(shí)現是XmlBeanFactory 類(lèi)。
6. XMLBeanFactory
最常用的就是org.springframework.beans.factory.xml.XmlBeanFactory ,它根據XML文件中的定義加載beans。該容器從XML 文件讀取配置元數據并用它去創(chuàng )建一個(gè)完全配置的系統或應用。
7. 解釋AOP模塊
AOP模塊用于發(fā)給我們的Spring應用做面向切面的開(kāi)發(fā), 很多支持由AOP聯(lián)盟提供,這樣就確保了Spring和其他AOP框架的共通性。這個(gè)模塊將元數據編程引入Spring。
8. 解釋JDBC抽象和DAO模塊。
通過(guò)使用JDBC抽象和DAO模塊,保證數據庫代碼的簡(jiǎn)潔,并能避免數據庫資源錯誤關(guān)閉導致的問(wèn)題,它在各種不同的數據庫的錯誤信息之上,提供了一個(gè)統一的異常訪(fǎng)問(wèn)層。它還利用Spring的AOP 模塊給Spring應用中的對象提供事務(wù)管理服務(wù)。
9. 解釋對象/關(guān)系映射集成模塊。
Spring 通過(guò)提供ORM模塊,支持我們在直接JDBC之上使用一個(gè)對象/關(guān)系映射映射(ORM)工具,Spring 支持集成主流的ORM框架,如Hiberate,JDO和 iBATIS SQL Maps。Spring的事務(wù)管理同樣支持以上所有ORM框架及JDBC。
10. 解釋W(xué)EB 模塊。
Spring的WEB模塊是構建在application context 模塊基礎之上,提供一個(gè)適合web應用的上下文。這個(gè)模塊也包括支持多種面向web的任務(wù),如透明地處理多個(gè)文件上傳請求和程序級請求參數的綁定到你的業(yè)務(wù)對象。它也有對Jakarta Struts的支持。
12. Spring配置文件
Spring配置文件是個(gè)XML 文件,這個(gè)文件包含了類(lèi)信息,描述了如何配置它們,以及如何相互調用。
13. 什么是Spring IOC 容器?
Spring IOC 負責創(chuàng )建對象,管理對象(通過(guò)依賴(lài)注入(DI),裝配對象,配置對象,并且管理這些對象的整個(gè)生命周期。
14. IOC的優(yōu)點(diǎn)是什么?
IOC 或 依賴(lài)注入把應用的代碼量降到最低。它使應用容易測試,單元測試不再需要單例和JNDI查找機制。最小的代價(jià)和最小的侵入性使松散耦合得以實(shí)現。IOC容器支持加載服務(wù)時(shí)的餓漢式初始化和懶加載。
15. ApplicationContext通常的實(shí)現是什么?
FileSystemXmlApplicationContext :此容器從一個(gè)XML文件中加載beans的定義,XML Bean 配置文件的全路徑名必須提供給它的構造函數。
ClassPathXmlApplicationContext:此容器也從一個(gè)XML文件中加載beans的定義,這里,你需要正確設置classpath因為這個(gè)容器將在classpath里找bean配置。
WebXmlApplicationContext:此容器加載一個(gè)XML文件,此文件定義了一個(gè)WEB應用的所有bean。
16. Bean 工廠(chǎng)和 Application contexts 有什么區別?
Application contexts提供一種方法處理文本消息,一個(gè)通常的做法是加載文件資源(比如鏡像),它們可以向注冊為探聽(tīng)器的bean發(fā)布事件。另外,在容器或容器內的對象上執行的那些不得不由bean工廠(chǎng)以程序化方式處理的操作,可以在A(yíng)pplication contexts中以聲明的方式處理。Application contexts實(shí)現了MessageSource接口,該接口的實(shí)現以可插拔的方式提供獲取本地化消息的方法。
17. 一個(gè)Spring的應用看起來(lái)象什么?
一個(gè)定義了一些功能的接口。
這實(shí)現包括屬性,它的Setter , getter 方法和函數等。
Spring AOP。
Spring 的XML 配置文件。
使用以上功能的客戶(hù)端程序。
依賴(lài)注入
18. 什么是Spring的依賴(lài)注入?
依賴(lài)注入,是IOC的一個(gè)方面,是個(gè)通常的概念,它有多種解釋。這概念是說(shuō)你不用創(chuàng )建對象,而只需要描述它如何被創(chuàng )建。你不在代碼里直接組裝你的組件和服務(wù),但是要在配置文件里描述哪些組件需要哪些服務(wù),之后一個(gè)容器(IOC容器)負責把他們組裝起來(lái)。
19. 有哪些不同類(lèi)型的IOC(依賴(lài)注入)方式?
構造器依賴(lài)注入:構造器依賴(lài)注入通過(guò)容器觸發(fā)一個(gè)類(lèi)的構造器來(lái)實(shí)現的,該類(lèi)有一系列參數,每個(gè)參數代表一個(gè)對其他類(lèi)的依賴(lài)。
Setter方法注入:Setter方法注入是容器通過(guò)調用無(wú)參構造器或無(wú)參static工廠(chǎng) 方法實(shí)例化bean之后,調用該bean的setter方法,即實(shí)現了基于setter的依賴(lài)注入。
20. 哪種依賴(lài)注入方式你建議使用,構造器注入,還是 Setter方法注入?
你兩種依賴(lài)方式都可以使用,構造器注入和Setter方法注入。最好的解決方案是用構造器參數實(shí)現強制依賴(lài),setter方法實(shí)現可選依賴(lài)。
Spring Beans
21.什么是Spring beans?
Spring beans 是那些形成Spring應用的主干的java對象。它們被Spring IOC容器初始化,裝配,和管理。這些beans通過(guò)容器中配置的元數據創(chuàng )建。比如,以XML文件中的形式定義。
Spring 框架定義的beans都是單件beans。在bean tag中有個(gè)屬性”singleton”,如果它被賦為T(mén)RUE,bean 就是單件,否則就是一個(gè) prototype bean。默認是TRUE,所以所有在Spring框架中的beans 缺省都是單件。
22. 一個(gè) Spring Bean 定義 包含什么?
一個(gè)Spring Bean 的定義包含容器必知的所有配置元數據,包括如何創(chuàng )建一個(gè)bean,它的生命周期詳情及它的依賴(lài)。
23. 如何給Spring 容器提供配置元數據?
這里有三種重要的方法給Spring 容器提供配置元數據。
XML配置文件。
基于注解的配置。
基于java的配置。
24. 你怎樣定義類(lèi)的作用域?
當定義一個(gè)在Spring里,我們還能給這個(gè)bean聲明一個(gè)作用域。它可以通過(guò)bean 定義中的scope屬性來(lái)定義。如,當Spring要在需要的時(shí)候每次生產(chǎn)一個(gè)新的bean實(shí)例,bean的scope屬性被指定為prototype。另一方面,一個(gè)bean每次使用的時(shí)候必須返回同一個(gè)實(shí)例,這個(gè)bean的scope 屬性 必須設為 singleton。
25. 解釋Spring支持的幾種bean的作用域。
Spring框架支持以下五種bean的作用域:
singleton : bean在每個(gè)Spring ioc 容器中只有一個(gè)實(shí)例。
prototype:一個(gè)bean的定義可以有多個(gè)實(shí)例。
request:每次http請求都會(huì )創(chuàng )建一個(gè)bean,該作用域僅在基于web的Spring ApplicationContext情形下有效。
session:在一個(gè)HTTP Session中,一個(gè)bean定義對應一個(gè)實(shí)例。該作用域僅在基于web的Spring ApplicationContext情形下有效。
global-session:在一個(gè)全局的HTTP Session中,一個(gè)bean定義對應一個(gè)實(shí)例。該作用域僅在基于web的Spring ApplicationContext情形下有效。
缺省的Spring bean 的作用域是Singleton.
26. Spring框架中的單例bean是線(xiàn)程安全的嗎?
不,Spring框架中的單例bean不是線(xiàn)程安全的。
27. 解釋Spring框架中bean的生命周期。
Spring容器 從XML 文件中讀取bean的定義,并實(shí)例化bean。
Spring根據bean的定義填充所有的屬性。
如果bean實(shí)現了BeanNameAware 接口,Spring 傳遞bean 的ID 到 setBeanName方法。
如果Bean 實(shí)現了 BeanFactoryAware 接口, Spring傳遞beanfactory 給setBeanFactory 方法。
如果有任何與bean相關(guān)聯(lián)的BeanPostProcessors,Spring會(huì )在postProcesserBeforeInitialization()方法內調用它們。
如果bean實(shí)現IntializingBean了,調用它的afterPropertySet方法,如果bean聲明了初始化方法,調用此初始化方法。
如果有BeanPostProcessors 和bean 關(guān)聯(lián),這些bean的postProcessAfterInitialization() 方法將被調用。
如果bean實(shí)現了 DisposableBean,它將調用destroy()方法。
28. 哪些是重要的bean生命周期方法? 你能重載它們嗎?
有兩個(gè)重要的bean 生命周期方法,第一個(gè)是setup , 它是在容器加載bean的時(shí)候被調用。第二個(gè)方法是 teardown 它是在容器卸載類(lèi)的時(shí)候被調用。
The bean 標簽有兩個(gè)重要的屬性(init-method和destroy-method)。用它們你可以自己定制初始化和注銷(xiāo)方法。它們也有相應的注解(@PostConstruct和@PreDestroy)。
29. 什么是Spring的內部bean?
當一個(gè)bean僅被用作另一個(gè)bean的屬性時(shí),它能被聲明為一個(gè)內部bean,為了定義inner bean,在Spring 的 基于XML的 配置元數據中,可以在或 元素內使用元素,內部bean通常是匿名的,它們的Scope一般是prototype。
30. 在 Spring中如何注入一個(gè)java集合?
Spring提供以下幾種集合的配置元素:
類(lèi)型用于注入一列值,允許有相同的值。
類(lèi)型用于注入一組值,不允許有相同的值。
類(lèi)型用于注入一組鍵值對,鍵和值都可以為任意類(lèi)型。
類(lèi)型用于注入一組鍵值對,鍵和值都只能為String類(lèi)型。
31. 什么是bean裝配?
裝配,或bean 裝配是指在Spring 容器中把bean組裝到一起,前提是容器需要知道bean的依賴(lài)關(guān)系,如何通過(guò)依賴(lài)注入來(lái)把它們裝配到一起。
32. 什么是bean的自動(dòng)裝配?
Spring 容器能夠自動(dòng)裝配相互合作的bean,這意味著(zhù)容器不需要和配置,能通過(guò)Bean工廠(chǎng)自動(dòng)處理bean之間的協(xié)作。
33. 解釋不同方式的自動(dòng)裝配 。
有五種自動(dòng)裝配的方式,可以用來(lái)指導Spring容器用自動(dòng)裝配方式來(lái)進(jìn)行依賴(lài)注入。
no:默認的方式是不進(jìn)行自動(dòng)裝配,通過(guò)顯式設置ref 屬性來(lái)進(jìn)行裝配。
byName:通過(guò)參數名 自動(dòng)裝配,Spring容器在配置文件中發(fā)現bean的autowire屬性被設置成byname,之后容器試圖匹配、裝配和該bean的屬性具有相同名字的bean。
byType::通過(guò)參數類(lèi)型自動(dòng)裝配,Spring容器在配置文件中發(fā)現bean的autowire屬性被設置成byType,之后容器試圖匹配、裝配和該bean的屬性具有相同類(lèi)型的bean。如果有多個(gè)bean符合條件,則拋出錯誤。
constructor:這個(gè)方式類(lèi)似于byType, 但是要提供給構造器參數,如果沒(méi)有確定的帶參數的構造器參數類(lèi)型,將會(huì )拋出異常。
autodetect:首先嘗試使用constructor來(lái)自動(dòng)裝配,如果無(wú)法工作,則使用byType方式。
34.自動(dòng)裝配有哪些局限性 ?
自動(dòng)裝配的局限性是:
重寫(xiě): 你仍需用 和配置來(lái)定義依賴(lài),意味著(zhù)總要重寫(xiě)自動(dòng)裝配。
基本數據類(lèi)型:你不能自動(dòng)裝配簡(jiǎn)單的屬性,如基本數據類(lèi)型,String字符串,和類(lèi)。
模糊特性:自動(dòng)裝配不如顯式裝配精確,如果有可能,建議使用顯式裝配。
35. 你可以在Spring中注入一個(gè)null 和一個(gè)空字符串嗎?
可以。
Spring注解
36. 什么是基于Java的Spring注解配置? 給一些注解的例子.
基于Java的配置,允許你在少量的Java注解的幫助下,進(jìn)行你的大部分Spring配置而非通過(guò)XML文件。
以@Configuration 注解為例,它用來(lái)標記類(lèi)可以當做一個(gè)bean的定義,被Spring IOC容器使用。另一個(gè)例子是@Bean注解,它表示此方法將要返回一個(gè)對象,作為一個(gè)bean注冊進(jìn)Spring應用上下文。
37. 什么是基于注解的容器配置?
相對于XML文件,注解型的配置依賴(lài)于通過(guò)字節碼元數據裝配組件,而非尖括號的聲明。
開(kāi)發(fā)者通過(guò)在相應的類(lèi),方法或屬性上使用注解的方式,直接組件類(lèi)中進(jìn)行配置,而不是使用xml表述bean的裝配關(guān)系。
38. 怎樣開(kāi)啟注解裝配?
注解裝配在默認情況下是不開(kāi)啟的,為了使用注解裝配,我們必須在Spring配置文件中配置元素。
39. @Required 注解
這個(gè)注解表明bean的屬性必須在配置的時(shí)候設置,通過(guò)一個(gè)bean定義的顯式的屬性值或通過(guò)自動(dòng)裝配,若@Required注解的bean屬性未被設置,容器將拋出BeanInitializationException。
40. @Autowired 注解
@Autowired 注解提供了更細粒度的控制,包括在何處以及如何完成自動(dòng)裝配。它的用法和@Required一樣,修飾setter方法、構造器、屬性或者具有任意名稱(chēng)和/或多個(gè)參數的PN方法。
41. @Qualifier 注解
當有多個(gè)相同類(lèi)型的bean卻只有一個(gè)需要自動(dòng)裝配時(shí),將@Qualifier 注解和@Autowire 注解結合使用以消除這種混淆,指定需要裝配的確切的bean。
Spring數據訪(fǎng)問(wèn)
42.在Spring框架中如何更有效地使用JDBC?
使用SpringJDBC 框架,資源管理和錯誤處理的代價(jià)都會(huì )被減輕。所以開(kāi)發(fā)者只需寫(xiě)statements 和 queries從數據存取數據,JDBC也可以在Spring框架提供的模板類(lèi)的幫助下更有效地被使用,這個(gè)模板叫JdbcTemplate (例子見(jiàn)這里here)
43. JdbcTemplate
JdbcTemplate 類(lèi)提供了很多便利的方法解決諸如把數據庫數據轉變成基本數據類(lèi)型或對象,執行寫(xiě)好的或可調用的數據庫操作語(yǔ)句,提供自定義的數據錯誤處理。
44. Spring對DAO的支持
Spring對數據訪(fǎng)問(wèn)對象(DAO)的支持旨在簡(jiǎn)化它和數據訪(fǎng)問(wèn)技術(shù)如JDBC,Hibernate or JDO 結合使用。這使我們可以方便切換持久層。編碼時(shí)也不用擔心會(huì )捕獲每種技術(shù)特有的異常。
45. 使用Spring通過(guò)什么方式訪(fǎng)問(wèn)Hibernate?
在Spring中有兩種方式訪(fǎng)問(wèn)Hibernate:
控制反轉 Hibernate Template和 Callback。
繼承 HibernateDAOSupport提供一個(gè)AOP 。
46. Spring支持的ORM
Spring支持以下ORM:
Hibernate
iBatis
JPA (Java Persistence API)
TopLink
JDO (Java Data Objects)
OJB
47.如何通過(guò)HibernateDaoSupport將Spring和Hibernate結合起來(lái)?
用Spring的 SessionFactory 調用 LocalSessionFactory。集成過(guò)程分三步:
配置the Hibernate SessionFactory。
繼承HibernateDaoSupport實(shí)現一個(gè)DAO。
在A(yíng)OP支持的事務(wù)中裝配。
48. Spring支持的事務(wù)管理類(lèi)型
Spring支持兩種類(lèi)型的事務(wù)管理:
編程式事務(wù)管理:這意味你通過(guò)編程的方式管理事務(wù),給你帶來(lái)極大的靈活性,但是難維護。
聲明式事務(wù)管理:這意味著(zhù)你可以將業(yè)務(wù)代碼和事務(wù)管理分離,你只需用注解和XML配置來(lái)管理事務(wù)。
49. Spring框架的事務(wù)管理有哪些優(yōu)點(diǎn)?
它為不同的事務(wù)API 如 JTA,JDBC,Hibernate,JPA 和JDO,提供一個(gè)不變的編程模式。
它為編程式事務(wù)管理提供了一套簡(jiǎn)單的API而不是一些復雜的事務(wù)API如
它支持聲明式事務(wù)管理。
它和Spring各種數據訪(fǎng)問(wèn)抽象層很好得集成。
50. 你更傾向用那種事務(wù)管理類(lèi)型?
大多數Spring框架的用戶(hù)選擇聲明式事務(wù)管理,因為它對應用代碼的影響最小,因此更符合一個(gè)無(wú)侵入的輕量級容器的思想。聲明式事務(wù)管理要優(yōu)于編程式事務(wù)管理,雖然比編程式事務(wù)管理(這種方式允許你通過(guò)代碼控制事務(wù))少了一點(diǎn)靈活性。
Spring面向切面編程(AOP)
51. 解釋AOP
面向切面的編程,或AOP, 是一種編程技術(shù),允許程序模塊化橫向切割關(guān)注點(diǎn),或橫切典型的責任劃分,如日志和事務(wù)管理。
52. Aspect 切面
AOP核心就是切面,它將多個(gè)類(lèi)的通用行為封裝成可重用的模塊,該模塊含有一組API提供橫切功能。比如,一個(gè)日志模塊可以被稱(chēng)作日志的AOP切面。根據需求的不同,一個(gè)應用程序可以有若干切面。在Spring AOP中,切面通過(guò)帶有@Aspect注解的類(lèi)實(shí)現。
52. 在Spring AOP 中,關(guān)注點(diǎn)和橫切關(guān)注的區別是什么?
關(guān)注點(diǎn)是應用中一個(gè)模塊的行為,一個(gè)關(guān)注點(diǎn)可能會(huì )被定義成一個(gè)我們想實(shí)現的一個(gè)功能。
橫切關(guān)注點(diǎn)是一個(gè)關(guān)注點(diǎn),此關(guān)注點(diǎn)是整個(gè)應用都會(huì )使用的功能,并影響整個(gè)應用,比如日志,安全和數據傳輸,幾乎應用的每個(gè)模塊都需要的功能。因此這些都屬于橫切關(guān)注點(diǎn)。
54. 連接點(diǎn)
連接點(diǎn)代表一個(gè)應用程序的某個(gè)位置,在這個(gè)位置我們可以插入一個(gè)AOP切面,它實(shí)際上是個(gè)應用程序執行Spring AOP的位置。
55. 通知
通知是個(gè)在方法執行前或執行后要做的動(dòng)作,實(shí)際上是程序執行時(shí)要通過(guò)SpringAOP框架觸發(fā)的代碼段。
Spring切面可以應用五種類(lèi)型的通知:
before:前置通知,在一個(gè)方法執行前被調用。
after: 在方法執行之后調用的通知,無(wú)論方法執行是否成功。
after-returning: 僅當方法成功完成后執行的通知。
after-throwing: 在方法拋出異常退出時(shí)執行的通知。
around: 在方法執行之前和之后調用的通知。
56. 切點(diǎn)
切入點(diǎn)是一個(gè)或一組連接點(diǎn),通知將在這些位置執行?梢酝ㄟ^(guò)表達式或匹配的方式指明切入點(diǎn)。
57. 什么是引入?
引入允許我們在已存在的類(lèi)中增加新的方法和屬性。
58. 什么是目標對象?
被一個(gè)或者多個(gè)切面所通知的對象。它通常是一個(gè)代理對象。也指被通知(advised)對象。
59. 什么是代理?
代理是通知目標對象后創(chuàng )建的對象。從客戶(hù)端的角度看,代理對象和目標對象是一樣的。
60. 有幾種不同類(lèi)型的自動(dòng)代理?
BeanNameAutoProxyCreator
DefaultAdvisorAutoProxyCreator
Metadata autoproxying
61. 什么是織入。什么是織入應用的不同點(diǎn)?
織入是將切面和到其他應用類(lèi)型或對象連接或創(chuàng )建一個(gè)被通知對象的過(guò)程。
織入可以在編譯時(shí),加載時(shí),或運行時(shí)完成。
62. 解釋基于XML Schema方式的切面實(shí)現。
在這種情況下,切面由常規類(lèi)以及基于XML的配置實(shí)現。
63. 解釋基于注解的切面實(shí)現
在這種情況下(基于@AspectJ的實(shí)現),涉及到的切面聲明的風(fēng)格與帶有java5標注的普通java類(lèi)一致。
Spring 的MVC
64. 什么是Spring的MVC框架?
Spring 配備構建Web 應用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring 的MVC框架用控制反轉把業(yè)務(wù)對象和控制邏輯清晰地隔離。它也允許以聲明的方式把請求參數和業(yè)務(wù)對象綁定。
65. DispatcherServlet
Spring的MVC框架是圍繞DispatcherServlet來(lái)設計的,它用來(lái)處理所有的HTTP請求和響應。
66. WebApplicationContext
WebApplicationContext 繼承了ApplicationContext 并增加了一些WEB應用必備的特有功能,它不同于一般的ApplicationContext ,因為它能處理主題,并找到被關(guān)聯(lián)的servlet。
67. 什么是Spring MVC框架的控制器?
控制器提供一個(gè)訪(fǎng)問(wèn)應用程序的行為,此行為通常通過(guò)服務(wù)接口實(shí)現?刂破鹘馕鲇脩(hù)輸入并將其轉換為一個(gè)由視圖呈現給用戶(hù)的模型。Spring用一個(gè)非常抽象的方式實(shí)現了一個(gè)控制層,允許用戶(hù)創(chuàng )建多種用途的控制器。
68. @Controller 注解
該注解表明該類(lèi)扮演控制器的角色,Spring不需要你繼承任何其他控制器基類(lèi)或引用Servlet API。
69. @RequestMapping 注解
該注解是用來(lái)映射一個(gè)URL到一個(gè)類(lèi)或一個(gè)特定的方處理法上。
【Java面試-Spring面試題及答案】相關(guān)文章:
JAVA面試題大全及答案04-30
20個(gè)高級Java面試題及答案04-23
java面試題05-20
Java面試題(精選)06-30
最新java程序員面試題及答案07-06
經(jīng)典Java基礎面試題08-13
Java線(xiàn)程面試題05-23
Java原理面試題07-13
高級Java面試題精選06-02