JAVASSM框架面試題


1.SpringMVC的工作流程?

1. 用戶發送請求至前端控制器DispatcherServlet

2. DispatcherServlet收到請求調用HandlerMapping處理器映射器。

3. 處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一並返回給DispatcherServlet。

4. DispatcherServlet通過HandlerAdapter處理器適配器調用處理器

5. 執行處理器(Controller,也叫后端控制器)。

6. Controller執行完成返回ModelAndView

7. HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet

8. DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器

9. ViewReslover解析后返回具體View

10. DispatcherServlet對View進行渲染視圖(即將模型數據填充至視圖中)。

11. DispatcherServlet響應用戶

2.Spring在SSM起什么作用?

Spring是一個輕量級框架,也是一個容器,Spring實質上講就是一個Bean工廠,主要用來管理Bean的生命周期和框架集成。有IOC控制反轉,DI依賴注入,控制反轉是把dao依賴注入到servic層,然后service層反轉給action層,Spring的頂層容器為BeanFactory,常用的ApplicationContext為它的子接口,實現了工廠模式,Spring還提供了AOP的支持,方便在切面級開發,

3. 怎么樣理解IOC和DI     ?

 在使用Spring框架的過程中、一定會用到控制反轉、但是往往所需要的資源還需要其他資源的支持、個過程就需要依賴注入的支持

4. Spring的事務,事務的作用。          

編程式事務管理:這意味你通過編程的方式管理事務,給你帶來極大的靈活性,但是難維護。

• 聲明式事務管理:這意味着你可以將業務代碼和事務管理分離,你只需用注解和XML配置來管理事務。

5.Spring的IOC你在項目中是怎么使用的?

IOC主要來解決對象之間的依賴問題,把所有的bean的依賴關系通過配置文件或者注解關聯起來,降低了耦合度

6.Spring的配置文件有哪些內容?   

 開啟事務注解驅動

• 事務管理器

• 開啟注解功能,並配置掃描包

• 配置數據源

• 配置SQL會話工廠、別名、映射文件

• 不用編寫DAO層的實現類(代理模式)

7.說下Spring的注解?    

@Controller

• @Service

• @Component

• @RequestMapping

• @Resource、@Autowired

• @ResponseBody

• @Transactional

 8.Spring DI的幾種方式?

(1)構造器注入:通過構造方法初始化

• <constructor-arg name=”dao”</constructor-arg>

• (2)setter注入:通過setter方法初始化注入

• <property name=”dao” ref=”dao2”></property>

• 注意:在實際開發中常用setter注入。

 9.@RequestMapping注解用在類上面有什么作用?

該注解是用來映射一個URL到一個類或一個特定的方處理方法上。

10.SpringMVC怎么樣設定重定向和轉發的      ?   

在返回值前面加”forward:”就可以讓結果轉發,譬如”forward:user.do?name=method4” 在返回值前面加”redirect:”就可以讓返回值重定向,譬如”redirect:http://www.uu456.com”

11. MyBatis怎么配置一對多?

一對多的關系 :property: 指的是集合屬性的值, ofType:指的是集合中元素的類型

12. MyBatis怎樣配置多對一?          

多對一的關系:property: 指的是屬性的值, javaType:指的是屬性的類型

13.簡單介紹下你對mybatis的理解?

1. mybatis配置

2. SqlMapConfig.xml,此文件作為mybatis的全局配置文件,配置了mybatis的運行環境等信息。

3. mapper.xml文件即sql映射文件,文件中配置了操作數據庫的sql語句。此文件需要在SqlMapConfig.xml中加載。

4. 通過mybatis環境等配置信息構造SqlSessionFactory即會話工廠

5. 由會話工廠創建sqlSession即會話,操作數據庫需要通過sqlSession進行。

6. mybatis底層自定義了Executor執行器接口操作數據庫,Executor接口有兩個實現,一個是基本執行器、一個是緩存執行器。

7. Mapped Statement也是mybatis一個底層封裝對象,它包裝了mybatis配置信息及sql映射信息等。mapper.xml文件中一個sql對應一個Mapped Statement對象,sql的id即是Mapped statement的id。

8. Mapped Statement對sql執行輸入參數進行定義,包括HashMap、基本類型、pojo,Executor通過Mapped Statement在執行sql前將輸入的java對象映射至sql中,輸入參數映射就是jdbc編程中對preparedStatement設置參數。

9. Mapped Statement對sql執行輸出結果進行定義,包括HashMap、基本類型、pojo,Executor通過Mapped Statement在執行sql后將輸出結果映射至java對象中,輸出結果映射過程相當於jdbc編程中對結果的解析處理過程。

14. SSM如何搭建:三個框架的搭建      ?   

15. MyBatis:$與#之間的區別: 兩者實現的功能:將傳過來的數據拿到。

#調用的類似PrepareStatement,防注入。#拿到的是對應的值。 id=1, #id#:1

$不能防注入。 $id$:id


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM