javascript
Spring常问的面试
1、Java中的異常
?? ?非檢查異常(unckecked exception):Error 和 RuntimeException 以及他們的子類。
?? ?檢查異常(checked exception):除了Error 和 RuntimeException的其它異常。強制要求程序員為這樣的異常做預備處理工作
?? ?runtimeException :運行時異常,系統不要求必須處理
?? ??? ?NullPointerException - 空指針引用異常
?? ??? ?ClassCastException - 類型強制轉換異常
?? ??? ?IllegalArgumentException - 傳遞非法參數異常。
?? ??? ?ArrayStoreException - 向數組中存放與聲明類型不兼容對象異常
?? ??? ?IndexOutOfBoundsException - 下標越界異常
?? ??? ?ArithmeticException - 算術運算異常
?? ??? ?NegativeArraySizeException - 創建一個大小為負數的數組錯誤異常
?? ?IOException:非運行時異常,必須處理
?? ??? ?FileSystemException-文件系統操作失敗拋出
?? ??? ?ChangedCharSetException-更改字符集時拋出異常
?? ??? ?CharacterCodingException-發生字符編碼或解碼錯誤時拋出異常
?? ??? ?ClosedChannelException-嘗試關閉該操作通道上調用I/O操作時拋出異常
?? ??? ?UnknownHostException-無法確定主機的IP地址
2、Spring的原理
?? ?Spring的工作原理就是讓一個對象的創建不用new就可以自動的生產,在運行時通過Spring的配置文件來動態的創建對象和調用對象。
3、簡述SpringIOC的執行過程
?? ?加載配置文件-----》根據配置文件創建相應的IOC容器----》實例化bean-------》加載實例化好的bean到IOC容器中去-----》調用bean。
4、bean.xml中的配置順序會影響對象的創建順序嗎?
?? ?會的,,,,最先配的最先實例化。如果一個beanA的創建需要另一個beanB,這時雖然beanB在beanA的后邊,也不影響beanA的創建。
5、如果用XML配置聲明式事務,分哪幾個步驟
?? ?1.配置事務管理器。DataSourceTransactionManager
?? ?2.配置切面和事務傳播方式
?? ?3.配置切點
6、@PathVariable 和 @RequestParam
?? ?兩者都是從request中接受請求的,都可以接收參數
?? ?@PathVariable:從URL路徑中獲取變量,比如URL中:emp/{id}獲取id
?? ?@RequestParam:獲取參數,比如URL中的:do?pageSize=3獲取pageSize=3的
7、用哪個注解格式化日期
?? ?@DatetimeFormate(“yyyy-MM-dd”)
8、Spring的攔截器
?? ?實現了HandlerInterceptor接口的類或者繼承繼承HandlerInterceptorAdapter類,在Springmvc.xml中配置,
?? ?HandlerInterceptor接口中定義了三個方法:
?? ?1 )preHandle:將在請求處理之前進行調用,SpringMVC 中的Interceptor 是鏈式的調用的
?? ?2 )postHandle :當前所屬的Interceptor 的preHandle 方法的返回值為true 時才能被調用,DispatcherServlet 進行視圖返回渲染之前被調用
?? ?3 )afterCompletion:該方法也是需要當前對應的Interceptor 的preHandle 方法的返回值為true 時才會執行,方法將在整個請求結束之后,也就是在DispatcherServlet 渲染了對應的視圖之后執行。這個方法的主要作用是用于進行資源清理工作的。
9、攔截器和Filter的區別
?? ?Spring的攔截器與Servlet的Filter有相似處,二者都是AOP編程思想的體現,都能實現權限檢查。日志記錄等,不同的是:
?? ?1.適用范圍不同:Filter是Servlet規范規定的,只能使用Web容器中,攔截器既可用于Web程序,亦可以用于其它地方
?? ?2.規范不同,Filter是在Servlet規范定義的,是Servlet容器支持的,攔截器是在Spring容器內,Spring框架支持的。
?? ?3.攔截器歸Spring管理,Spring里面的資源可以通過IOC注入到攔截器。
10、SpringMVC的幾個組件
?? ?1.DispatcherServlet 請求入口
?? ?2.HandlerMapping ? 請求派發,負責請求和控制器建立一一對應的關系
?? ?3.Controller ? 處理器
?? ?4.ModelAndView ? 封裝模型信息和視圖信息
?? ?5.ViewResolver 視圖處理器,定位頁面
11、視圖解析器除了解析jsp還能解析其他視圖嗎
?? ?能,InternalResourceViewResolver可以查找jsp,實現org.springframework.web.servlet.view.freemarker中的FreeMarkerViewResolver類可以解析其他視圖。必須先配置freemarkerConfig
12、簡述SpringMVC項目的框架搭建過程
?? ?創建項目----導入所需要的jar包------配置web.xml----配置mvc.xml,spring.xml---創建類
13、如果一個service實現了接口,我們需要在controller中使用,應該注入接口還是實現類
?? ?注入接口,spring默認是JDK動態代理
14、Ajax 的無刷新功能就是利用 XMLHttpRequest 的異步請求來完成的
轉載于:https://www.cnblogs.com/tk970803/p/11260365.html
總結
以上是生活随笔為你收集整理的Spring常问的面试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用各类BeanUtils的时候,切记注
- 下一篇: 180904 再卖菜 ccf