spring和springmvc的基礎知識點

1.spring中使用@Service("userservice")如何在其他地方引用這個service?

(1)getBean("userservice")

(2)@Autowired,如果系統(tǒng)中有多個對象,配合@Qulitifer使用

(3)@Resource(name="userservice")

2.spring中在默認情況下創(chuàng)建的bean是單例的嗎?

3.如何把一個bean定義成多例的?

(1)scope="prototype"

(2)@Scope(value="prototype")

4.什么情況下我們應該把bean創(chuàng)建成單例的?舉例

mybatis中的sqlsessonfactory

5.單例多例在創(chuàng)建時間上有什么區(qū)別?分別在什么時候創(chuàng)建?

單例在容器創(chuàng)建的時候就創(chuàng)建好了(默認關閉懶加載)

多例在被使用的時候創(chuàng)建,例如getBean(id), @Autowried, ref。。。的時候

6.驗證是否bean.xml中的配置順序會影響對象的創(chuàng)建順序(限于單例情況)

會影響,最先配的最先實例化。如果一個beanA的創(chuàng)建需要另外一個beanB,這時雖然beanB在

beanA的后面,也不影響beanA的創(chuàng)建。

7.簡述springIOC的執(zhí)行過程

首先讀入配置文件——>根據(jù)配置文件創(chuàng)建IOC容器——>實例化bean——>將實例化好

的bean放入IOC容器——>getBean(id),Autowired的方式使用bean

8.某個類實現(xiàn)了接口,如果里面的方法沒有用到AOP功能,spring還為它生成代理類嗎?

不會,只有切面在切方法的時候,spring才會為目標對象生成代理類。

9.默認情況下,一個實現(xiàn)了接口的類用AOP的話,spring將會生成什么類型的代理類?

默認情況,這樣的話會生成JDK代理,可以強制生成CGLIB代理。

10.默認情況下,一個沒有實現(xiàn)接口的類用AOP的話spring將會生成什么類型的代理類?

CGLIB代理。

11.JDK代理能為沒有實現(xiàn)接口的類生成動態(tài)代理類嗎?

不能,JDK代理必須要求目標類有接口,只能用cglib。但是cglib不能代理final類型的類和方法。

12.一個沒有實現(xiàn)接口的類如果要生成動態(tài)代理類,可以用CGLIB代理,對嗎?

對。

13.說說JDK代理和CGLIB代理的區(qū)別?

JDK代理要求目標對象必須有接口,CGLIB有沒有接口都行。

14.JDK生成的動態(tài)代理類和目標類都實現(xiàn)了相同的接口,對嗎?

對。動態(tài)代理類和目標類是兄弟關系。

15.CGLIB生成的動態(tài)代理類繼承了目標類,對嗎?

對。

16.CGLIB即可以代理有接口的類也可以代理無接口的類,對嗎?

對。

17.CGLIB可以代理目標類中的final方法,對嗎?

不對。

18.掃包的時候掃哪些包?

加了注解的包

19.如果要在一個方法上加聲明式事務,我們可以用哪個注解?

@Tranctional

20.如果用xml配置聲明式事務,分哪幾個步驟?

(1)配置事務管理器DataSourceTransactionManager

(2)配置切面和事務傳播方式

(3)配置切點

21.SqlSessionTemplate是線程安全的嗎?

是。

22.spring IOC可以配置抽象類嗎?

可以,但是要在標簽中加上abstract=true屬性

23.spring IOC可以配置接口嗎?

不可以。

24.舉例說一下什么是切面?什么是切點?什么是通知?

25.AOP通知中,能夠獲得目標方法輸入的參數(shù)值嗎?如何獲???

26.AOP通知中,通知的執(zhí)行順序?

Before()

AfterReturning()

AfterThrowing()

After()

Around()

27、抽象類能被springIOC容器管理嗎?能,但是它的價值就是被其他bean繼承配置

28、接口能被springIOC容器管理嗎?不能

29、final類或者final方法能用cglib代理嗎?不能,即是不能切final方法的

30、環(huán)繞通知中的proceed()方法能夠獲得業(yè)務方法的返回值,它是通過調用業(yè)務方法獲得的返回值嗎?不是

31.說一下你對MVC模式的理解?

從三層結構上說。。。。

32.springmvc中的中央控制器名字叫什么?

33.在哪里配置springmvc的中央控制器?

34.如何返回json格式的數(shù)據(jù)?

35.@RequestMapping的作用是什么?

36.springmvc中如何重定向?

return "reidrect:/studentlist";

return "reidrect:/studentlist.jsp";

37.用哪個注解指定格式化的日期?

@DatetimeFormate("yyyy-MM-dd")

38.@PathVariable是做什么用的?

39.@RequestParam是做什么用的?

40.@RequestMapping可以用在類上嗎?用在類上起什么作用?

RequestMapping("/user")

RequestMapping("/list")

/user/list

41.什么是Rest風格?舉個例子

/user/list/{id}

42.如何獲取Rest風格URL中的參數(shù)?

43.在spring框架下上傳用哪個類可以很方便的實現(xiàn)上傳?

44.什么是國際化?

45.說說國際化的步驟?

創(chuàng)建每一個國家創(chuàng)建一個對應的properties文件

springmvc.xml中配置國際化組件

在jsp里面這樣用<fm:message key="username"/>

46.什么是攔截器?

實現(xiàn)了HandlerInterceptor的接口的類就是攔截器,如何使用?

springmvc.xml中配置攔截器,它有3個方法。

47.攔截器需要在xml中配置嗎?

48.攔截器的preHandle方法如果返回值為false,后面的攔截器還會執(zhí)行嗎?

49.如果被攔截的方法出現(xiàn)異常,postHandle方法會執(zhí)行嗎?

50.多個攔截器共同攔截同一個url,在沒有出現(xiàn)異常preHandle也沒有

返回false的情況下,各個攔截器執(zhí)行的順序是什么?

52.如何指定一個RequestMapping的請求方式?例如POST或者GET?

53.說一下ModelAndView的作用?

54.什么是視圖解析器?

55.在springmvc中,我們可以如何處理異常?

1)mvc.xml中配置異常解析器

2)@HandlerException

56.說一下你知道的mvc組件,越多越好,各個之間的關系

57.攔截器跟過濾器有區(qū)別嗎?知道哪些區(qū)別

58.<mvc:annotation-driven/>的作用是什么?

59.Service可以訪問Controller嗎?在Service中可以注入Controller嗎?

60.在Rest風格下js,css,image等無法訪問,如何解決?

61.springmvc下的controller是在什么時候被實例化的?

62.容器在一啟動的時候就把controller中的requestmapping信息讀到內存了么?

63.視圖解析器除了解析jsp還能解析其他視圖嗎?

64.如果一個service實現(xiàn)了接口,我們在controller中注入它時,應該注入接口

還是實現(xiàn)類?

1)如果service中的方法被切。。。

2)如果service中的方法沒被切。。。

為了安全起見,任何情況下都注入接口。

65.簡述springmvc項目的框架搭建過程?

1)創(chuàng)建項目

2)導入jar包

3)配置web.xml

4)配置mvc.xml,spring.xml

5)創(chuàng)建包

66.簡述springmvc的請求、應答過程?

客戶端發(fā)起請求——DispatcherServlet——HandlerMapping——Controller

——執(zhí)行Controller方法——ModleAndView——視圖解析器

——找到jsp——顯示結果

備注:HandlerMapping里面存放著url和controller的映射

67.在請求controller時瀏覽器報404錯誤,分析一下可能的原因?

1)controller沒掃

2)controller里面的請求路徑寫錯了

3)返回的視圖沒有在解析器的前綴、后綴中

4)如果是靜態(tài)資源,可能沒有指定<mvc:resources />映射

68.springmvc能夠脫離spring容器單獨運行嗎?

69.什么是異步?

幾個方法可以同時執(zhí)行,就是異步。幾個方法按照先后順序執(zhí)行,就是同步。

70.你知道ajax技術嗎?它離開了瀏覽器能運行嗎?底層用的是哪個對象?

底層用XMLHttpRequest對象,它有兩個作用:第一,發(fā)起ajax請求 第二,接收服務器端的返回值。

獲取更多資源請關注微信公眾號:AKA程序王

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • IOC和DI是什么? Spring IOC 的理解,其初始化過程? BeanFactory 和 FactoryBe...
    justlpf閱讀 3,593評論 1 21
  • 1.為什么使用Spring ? 1). 方便解耦,簡化開發(fā) 通過Spring提供的IoC容器,可以將對象之間的依賴...
    wustmz閱讀 3,734評論 1 3
  • 1.JVM 堆內存和非堆內存 堆和非堆內存按照官方的說法:“Java 虛擬機具有一個堆(Heap),堆是運行時數(shù)據(jù)...
    yanzhu728閱讀 1,006評論 0 0
  • 1.Spring整體架構 1)核心容器(Core Container) Core模塊,主要包含了Spring框架基...
    Sponge1128閱讀 1,258評論 0 1
  • 現(xiàn)在是2.18,2017年已經奔跑了八分之一。我總是在計劃著將來,卻不知將來已經變成過去。終于現(xiàn)在我靜下心來回想我...
    北風1998閱讀 240評論 0 0

友情鏈接更多精彩內容