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程序王