Java總結(spring、ajax、mybatis、bootstrap)
不間斷更新。。。。
Spring(由Rod Johnson建立)?
它是一個一站式(full-stack全棧式)框架,
提供了從表現層-springMVC到業務層-spring再到持久層-springdata的一套完整的解決方案。
我們在專案中可以只使用spring一個框架,它就可以提供表現層的mvc框架,持久層的Dao框架。
它的兩大核心IOC和AOP更是為我們程式解耦和程式碼簡潔易維護提供了支援。。
Spring的優點:
答:
1.降低了元件之間的耦合性 ,實現了軟體各層之間的解耦
2.可以使用容易提供的眾多服務,如事務管理,訊息服務等3.容器提供單例模式支援
4.容器提供了
5.容器提供了眾多的輔助類,能加快應用的開發
6.spring對於主流的應用框架提供了整合支援,如hibernate,JPA,Struts等
7.spring屬於低侵入式設計,程式碼的汙染極低
8.獨立於各種應用伺服器
9.spring的DI機制降低了業務物件替換的複雜性
10.Spring的高度開放性,並不強制應用完全依賴於Spring,開發者可以自由選擇spring的部分或全部
AJAX:
是一種用來改善使用者體驗的技術,其本質是利用瀏覽器提供的一個特殊物件(XmlHttpRequests簡稱ajax物件)
向伺服器傳送非同步請求,伺服器返回部分資料,瀏覽器利用這些資料對當前頁面做區域性更新,
整個過程頁面無重新整理,不打斷使用者操作。
Mybatis:開源的持久層框架,底層還是JDBC,持久層框架包括SQL Maps和Data Access Objects(DAOs)
bootstrap: 是最受歡迎的Html、Css、Js框架,用於開發響應式佈局,移動裝置優先的web專案。
一、什麼是spring?
定義:
Spring是一個開源的輕量級的應用開發框架,
目的:
用於簡化企業級應用程式開發,降低侵入性;
本質:
管理軟體中的物件,即建立物件和維護物件之間的關係。
二、何時使用Spring?
當需要管理JavaBean物件的時候就可以使用,spring是最簡潔的物件管理方案之一。
三、請說說Spring Bean的生命週期?
1、Spring容器 從XML 檔案中讀取bean的定義,並例項化bean。
2、Spring根據bean的定義填充所有的屬性。
3、如果bean實現了BeanNameAware 介面,Spring 傳遞bean 的 ID 到 setBeanName方法。
4、如果Bean 實現了 BeanFactoryAware 介面, Spring傳遞beanfactory 給 setBeanFactory 方法。
5、如果有任何與bean相關聯的BeanPostProcessors,Spring會在postProcesserBeforeInitialization()方法內
呼叫它們。
6、如果bean實現IntializingBean了,呼叫它的afterPropertySet方法,如果bean聲明瞭初始化方法,
呼叫此初始化方法。7、如果有BeanPostProcessors 和bean 關聯,這些bean的postProcessAfterInitialization() 方法將被呼叫。
8、如果bean實現了 DisposableBean,它將呼叫destroy()方法。
四、使用Spring框架的好處是什麼?
輕量:Spring 是輕量的,基本的版本大約2MB。
控制反轉:Spring通過控制反轉實現了鬆散耦合,物件們給出它們的依賴,而不是建立或查詢依賴的物件們。
面向切面的程式設計(AOP):Spring支援面向切面的程式設計,並且把應用業務邏輯和系統服務分開。
容器:Spring 包含並管理應用中物件的生命週期和配置。
MVC框架:Spring的WEB框架是個精心設計的框架,是Web框架的一個很好的替代品。
事務管理:Spring 提供一個持續的事務管理介面,可以擴充套件到上至本地事務下至全域性事務(JTA)。
異常處理:Spring 提供方便的API把具體技術相關的異常(比如由JDBC,Hibernate or JDO丟擲的)轉化為一致的unchecked 異常。五、springMVC有幾大元件?及其分別作用?
1.DispatcherServlet:前端控制器
2.HandlerMapping:對映處理器
3.Controller:控制器,具體處理請求並響應。
4.ModeAndView:用於封裝處理結果
5.ViewResolver:檢視解析器。六、SpringMVC工作原理:
1.客戶端傳送請求到DispatcherServlet
2.DispatcherServlet查詢handlerMapping找到處理請求的Controller
3.Controller呼叫業務邏輯後,返回ModelAndView
4.DispatcherServlet查詢ViewResolver,找到ModeAndView指定檢視
5.檢視將結果返回到客戶端
七、SpringMvc的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
是單例模式,所以在多執行緒訪問的時候有執行緒安全問題,不要用同步,會影響效能的,
解決方案是在控制器裡面不能寫欄位。
八、SpringMVC怎麼樣設定重定向和轉發的
1、在返回值前面加"forward:"就可以讓結果轉發,譬如"forward:user.do?name=method4"
2、在返回值前面加"redirect:"就可以讓返回值重定向,譬如"redirect:http://www.baidu.com"九、MyBatis(IBatis)的好處是什麼 ?
ibatis把sql語句從Java源程式中獨立出來, 放在單獨的XML檔案中編寫,給程式的維護帶來了很大便利。
ibatis封裝了底層JDBC API的呼叫細節,並能自動將結果集轉換成Java Bean物件, 大大簡化了Java資料庫程式設計的重複工作。
因為Ibatis需要程式設計師自己去編寫sql語句, 程式設計師可以結合資料庫自身的特點靈活控制sql語句,
因此能夠實現比hibernate等全自動orm框架更高的查詢效率,能夠完成複雜查詢.
十、MyBatis裡面的動態Sql是怎麼設定的?用什麼語法?
MyBatis裡面的動態Sql一般是通過if節點來實現,通過OGNL語法來實現,但是如果要寫的完 整,
必須配合where,trim節點,where節點是判斷包含節點有內容就插入where,否則不插 入,trim節點是用來判斷如果動態語句是以and 或or開始,
那麼會自動把這個and或者or取掉。
十一、講下MyBatis的快取
MyBatis的快取分為一級快取和二級快取, 一級快取放在session裡面,預設就有,二級快取放在它的名稱空間裡,預設是開啟的,
使用二級快取屬性類需要實現Serializable序列化接 口(可用來儲存物件的狀態),可在它的對映檔案中配置。
十二、談談你對ssm框架的認識
ssm框架是spring MVC ,spring和mybatis框架的整合,
是標準的MVC模式,
將整個系統劃分為表現層,controller層,service層,DAO層四層
使用spring MVC負責請求的轉發和檢視管理spring實現業務物件管理,mybatis作為資料物件的持久化引擎。