對于Java新手來說,Java框架也是Java學習路上的一大路障。Spring是Java開源J2EE應用程序框架,Struts是Java開源Web框架,Hibernate是Java開源持久層框架。
我們先來看一下Spring的作用。Spring提供了管理業務對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的作用就是完全解耦類之間的依賴關系,一個類如果要依賴什么,那就是一個接口。至于如何實現這個接口,這都不重要了。只要拿到一個實現了這個接口的類,就可以輕松的通過xml配置文件把實現類注射到調用接口的那個類里。所有類之間的這種依賴關系就完全通過配置文件的方式替代了。所以Spring框架最核心的就是所謂的依賴注射和控制反轉。
接下來,我們來看一下新手如何學Spring。
針對Spring的學習,第一步就是理解IoC和AOP,這可以說是基礎。
IoC控制反轉,對象創建責任的反轉。我們知道,Spring中的BeanFacotory是IoC容器的核心接口,負責實例化、定位、配置應用程序中對象及監理這些對象間的依賴。XmlBeanFacotory實現BeanFactory接口,通過獲取xml配置文件數據,組成應用對象及對象間的依賴關系。
順便說一下,在Spring中有三種注入方式,第一種是set注入,第二種是接口注入,還有一種是構造方法注入。
AOP面向切面編程,也就是縱向的編程。在OOP面向對象的使用中,無可避免的會出現代碼重復,而且使用面向對象的編程方式,這種重復無法避免,比如用戶權限判斷中,根據相應的權限執行相應的方法;在servlet中設置編碼格式時,同樣相同的代碼出現很多次,而且還根業務無關,很容易忘記寫,結果運行的時候就出現亂碼拉。這種重復代碼不僅使編碼麻煩,而且還不容易維護。而AOP則將這些代碼整理起來,將解決某個切面問題的代碼單獨的放在某個模塊中,然后再織入到程序中。
Spring框架中AOP的使用步驟,第一步拷貝jar包,第二步spring配置文件中增加命名空間和約束文件,第三步寫被代理的類和擴展類第四步由配置文件聲明。
弄清楚了IoC和AOP之后,要學習的是SpringMVC。想要弄清楚Spring是怎么配置的,就要學會Servlet和JSP。學習Servlet是一定不能省的,現在流行的SpringMVC和Struts2都是基于Servlet的,Servlet是MVC模型最為基本的表現形態。只有深入了解Servlet才能理解后邊的新技術。
我們在瀏覽器點擊鏈接和按鈕產生的消息不是發送給Servlet的,而是發送給web容器的。Web容器接收消息后轉交給Servlet處理。而web容器和Servlet的交流依賴于Servlet接口。Servlet是一種接口規范,所以只要我們編寫的Java類符合Servlet規范,那么就能被Web容器識別并被容器管理。Servlet容器通過向方法的參數賦值HttpServletRequest或者HttpServletResponse傳遞來實現請求和響應。
JSP是面向服務器的。我們在寫JSP時預設客戶端是瀏覽器,JSP就是一個Servlet。