大家好,我是IT修真院深圳分院第十三期學員,一枚正直純潔善良的JAVA程序員。 今天給大家分享一下,修真院官網JAVA任務二里面的知識點:
ANNOTATION和XML兩種配置的差別,爲什麼更喜歡使用ANNOTAION來配置SPRING MVC?
1 背景介紹
web項目的發展歷程:MODEL1,MVC,SPRINGMVC
model1:使用一個組件處理請求、業務、展現等操作。代碼耦合度高、冗餘等問題。
mvc:m:model,業務層,用來處理業務。v:view,視圖層,用來展現數據。c:Controller,控制層,用來進行調度,是業務層和視圖的橋樑,其目的是要將代碼解耦,便於團隊開發。
springmvc:是一種基於Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,它爲控制器和處理程序提供了大量與此模式相關的功能。並且當向 MVC 添加反轉控制,它使應用程序高度解耦,提供了通過簡單的配置更改即可動態更改組件的靈活性。Spring MVC 爲您提供了完全控制應用程序的各個方面的力量。
2.知識剖析
2.1SPRING MVC五大組件
DispatcherServlet:Spring的WebMVC模塊是圍繞DispatcherServlet而設計的。DispatcherServlet 給處理程序分派請求,執行視圖解析,並且處理語言環境和主題解析,此外還爲上傳文件提供支持。
hadlerMapping:包含了請求路徑與模型的對應關係。
Controller(控制器):調用相應的業務層處理業務邏輯
ModelAndView:Controller處理數據封裝在裏面,當然還可能有視圖名。
ViewResolver(視圖解析器):調用真正的視圖對象來生成相應的頁面。
2.2運行原理
Dispatcherservle主要負責接受請求,然後依據HandlerMapping調用相應的控制器,Controller(控制器)處理業務返回ModelAndView,Disparcherservlet又依據相應的視圖解析器(ViewResolver)調用相應的視圖響應。
3.常見問題
1)怎樣配置xml配置和註解配置?
2)xml配置和註解配置的優缺點?
3)爲什麼爲什麼更喜歡使用Annotaion來配置Spring MVC?
4.解決方案:
依據五大組件之間關係,然後xml或者註解配置相應的組件。
1)在web.xml文件下配置DispatcherServlet
注:上面裏面主要是配置DispatcherServlet,啓動tomcat後就會啓動DispatcherServlet,啓動了DispatcherServlet,相應的啓動裏面的Spring容器(注:裏面放的是spring配置文件的路勁,注意一定要放在resource文件夾裏面)。然後裏面是主要接受請求的,/(代表接受所有請求吧)。
2)如上配置文件寫好了就可寫自己的Controller
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("hello()");
return "hello";
}
}
3)在spring文件下配置如下內容
注:<context:component-scan base-package=""/>這個是組件掃描,“ ”裏面是相應的包名(告訴spring容器到相應的包中掃面相應的註解,所以在建造相應servce,dao層的時候一定要在外面在套一層相應的包,這要的話掃描註解不會只相應的層)
相應xml配置:
1)web.xml文件和註解文件是一樣的。
2)編寫Controller:
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
System.out.println("handleRequest()");
return new ModelAndView("hello");
}
}
2)spring配置文件:
5.編碼實戰
6.擴展思考:
其實spring mvc是相對於web項目提出來的分層思想,而web項目分爲前端和後端,相對於後端自頂向下分爲controller層,service層,dao層,數據層或者叫持久層。有時候,爲了達到解耦的目的,會在上述基層中間加入響應的接口層,以使得接口與實現分離。在更加大型的網站中,會出現更加複雜的架構,比如dao層與數據層之間要有緩存層,或者訪問壓力增大後,需要使用集羣,負載均衡等高級技術
注:本人初學java者,如有不對敬請指出,謝謝!
7.參考文獻
CSDN、百度百科
8 更多討論
總結:
1)怎樣配置xml配置和註解配置?
xml:根據五大組件相應的配置xml文件裏面的內容。
註解:相應註解對應的組件替換調xml文件的內容,然後添加組件掃描,和mvc註解開啓。
2)xml配置和註解配置的優缺點?
xml配置主要是結構清晰,容易理解,但是配置內容過多,所以工程量大的時候不利於解讀和維護。
註解相對比較靈活,但對於初學者不利於理解,配置內容比較少,便於維護。
3)爲什麼爲什麼更喜歡使用Annotaion來配置Spring MVC?
(1)相對於xml配置配置文件比較少,省事。
(2)註解代碼比較簡單,便於維護。
溫馨提示:本人初學java者,如有不對敬請指出,謝謝!
技能樹.IT修真院
“我們相信人人都可以成爲一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫”。
這裏是技能樹.IT修真院,成千上萬的師兄在這裏找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。
快來與我一起學習吧~技能樹.IT修真院
“我們相信人人都可以成爲一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫”。
這裏是技能樹.IT修真院,成千上萬的師兄在這裏找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。
快來與我一起學習吧~ http://www.jnshu.com/login/1/28836439