最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用純java config來配置spring mvc方式

 更新時間:2021年11月29日 11:54:32   作者:Markey92  
這篇文章主要介紹了使用純java config來配置spring mvc方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用xml配置spring是大部分開發(fā)者喜歡并通用的,但是對于有代碼潔癖或者對于喜歡使用純java來配置java項目的童鞋來說,從頭到尾采用java類來配置spring mvc項目,無疑令人賞心悅目。

這次筆者采用mavan來管理項目依賴包,并采用java類來取代常用的spring-context.xml。美中不足的是由于web項目限制,web.xml這個文件還是需要的,不過其中已不再需要配置任何內容。

采用的工具主要包括:maven、myeclipse

1、使用mavan新建一個webmvc項目

在myeclipse使用 file-》new project-》maven project-》選擇webapp模板,填寫項目名稱,點擊確認

2、新建好了項目后

按照maven項目的風格新建主要工程目錄,包括src/main/java、src/main/resources、src/test/java、src/test/resources;按個人喜好和需要分配目錄,以上只是一般常用的目錄結構。

3、編輯pom.xml使用maven來引入項目依賴包

主要要spring核心框架依賴包:spring-core,spring-beans,springmvc需要的spring-mvc,spring-web,以及web項目需要的javax.servlet-api,還有使用spring標記需要的spring-context和spring-context-support,spring-test是測試用。關于maven的詳細用法可查詢相關資料。

工程依賴

4、先來看看基本項目完成后的web.xml是什么樣子的

只有一個項目名稱的說明,沒有以為其他好多配置信息,是不是看起來很清爽。那么為什么一點配置都沒有,web項目在tomcat中是如何拉起spring的么?

5、先在src/java/main下新建一個config包

里面用來放置我們項目的配置類。

6、先編寫第一個java cofing的配置類AppInitializer

這個類繼承了 AbstractAnnotationConfigDispatcherServletInitializer,之前我們有個疑問,以往都是通過配置web.xml文件來關聯(lián)spring配置的,那這里的web.xml文件里面沒有配置,是怎么拉起spring的呢?原因就在于這個AppInitalizer類了,繼承了AbstractAnnotationConfigDispatcherServletInitializer的AppInitalizer的作用就類似以前的spring-context.xml,并且會在web項目運行初始化被自動發(fā)現(xiàn)并加載,這就是java config的魅力所在了,不管在哪里聲明了配置了,只要繼承了AbstractAnnotationConfigDispatcherServletInitializer,它就可以被自動加載。

7、AppInitializer類需要實現(xiàn)三個方法

其中RootConfig和WebConfig是我們下面要新建的兩個關鍵配置類,而getServletMappings只需要返回一個string的列表,這里的{“/”}的意思的監(jiān)聽訪問url下所有的請求。

8、RootConfig.class的內容如下

它可以放在和AppInitializer同個目錄下,主要用來配置spring的bean,這里只關注web項目的實現(xiàn),所以暫時沒有具體內容

9、WebConfig的內容如下

也是建議放在和AppInitializer同級目錄下,用來配置DispatcherServlet。@Configuration 聲明表示這個類是spring config類,@EnablcWebMvc聲明來啟動springMVC,@ComponentScan聲明來指定java bean的掃描目錄。待會再講解這里需要配置哪些java bean

10、WebConfig類需要繼承WebMvcConfigureAdapter類

并實現(xiàn)兩個基本方法。viewResolver指定了視圖所在目錄,視圖后綴等類型。 并通過configureDefaultServletHandling的enable()要求對靜態(tài)資源的訪問請求轉發(fā)到servlet容器的默認servlet上。

11、現(xiàn)在需要新建一個控制器來控制請求的轉發(fā)了

最簡單的配置如下,意思是將“/homepage”的請求返回home字符串。這里雖然返回的只是一個字符串,框架會結合之前的webconfig類的配置將其解析為WEB-INF/views目錄下的home.jsp文件。

12、這里我們的請求轉發(fā)的基本流程就差不多結束了

最后要創(chuàng)建一個WEB-INF/views目錄,并在其下創(chuàng)建home.jsp文件。

13、使用maven打包項目

并使用tomcat7來運行項目看看效果。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java比較對象大小兩種常用方法

    Java比較對象大小兩種常用方法

    這篇文章主要介紹了Java比較對象大小兩種常用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 教你用java?stream對集合中的對象按指定字段進行分組并統(tǒng)計

    教你用java?stream對集合中的對象按指定字段進行分組并統(tǒng)計

    這篇文章主要給大家介紹了關于用java?stream對集合中的對象按指定字段進行分組并統(tǒng)計的相關資料,本文主要介紹了如何利用Java的Stream流來實現(xiàn)在list集合中,對具有相同name屬性的對象進行匯總計算的需求,需要的朋友可以參考下
    2024-10-10
  • java生成圖片驗證碼實例代碼

    java生成圖片驗證碼實例代碼

    這篇文章主要介紹了java生成圖片驗證碼實例代碼,驗證碼的種類有很多,問題驗證、短信驗證還有常見的圖片驗證,本文就為大家介紹生成圖片驗證碼最簡單方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Java基礎之Web服務器與Http詳解

    Java基礎之Web服務器與Http詳解

    無論你是前端開發(fā)者還是后端開發(fā)者,以及測試工程師,這篇文章的知識都是你需要弄懂的。讀完這一篇文章,將全面弄懂 HTTP 協(xié)議、TCP 協(xié)議,面試官再也難不倒你相關知識
    2021-09-09
  • Java如何加載外部Jar的類并通過反射調用類的方法

    Java如何加載外部Jar的類并通過反射調用類的方法

    這篇文章主要介紹了Java如何加載外部Jar的類并通過反射調用類的方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • maven鏡像倉庫的配置過程

    maven鏡像倉庫的配置過程

    本文詳細介紹了MAVEN_HOME的配置步驟、Path環(huán)境變量的設置、檢測配置是否成功的方法、修改默認的maven依賴包下載路徑以及配置阿里鏡像倉庫的路徑,同時分享了作者在配置過程中遇到的問題,如命令不識別、版本不匹配等,并提供了解決方案
    2024-09-09
  • SpringBoot接口或方法進行失敗重試的實現(xiàn)方式

    SpringBoot接口或方法進行失敗重試的實現(xiàn)方式

    為了防止網絡抖動,影響我們核心接口或方法的成功率,通常我們會對核心方法進行失敗重試,如果我們自己通過for循環(huán)實現(xiàn),會使代碼顯得比較臃腫,所以本文給大家介紹了SpringBoot接口或方法進行失敗重試的實現(xiàn)方式,需要的朋友可以參考下
    2024-07-07
  • SpringBoot 過濾器、攔截器、監(jiān)聽器對比及使用場景分析

    SpringBoot 過濾器、攔截器、監(jiān)聽器對比及使用場景分析

    過濾器是處于客戶端和服務器資源文件之間的一道過濾網,這篇文章主要介紹了SpringBoot 過濾器、攔截器、監(jiān)聽器對比及使用場景分析,需要的朋友可以參考下
    2021-05-05
  • 認證授權中解決AuthenticationManager無法注入問題

    認證授權中解決AuthenticationManager無法注入問題

    這篇文章主要介紹了認證授權中解決AuthenticationManager無法注入問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-10-10
  • SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作

    SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作

    這篇文章主要介紹了SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作,需要的朋友可以參考下
    2018-03-03

最新評論

镇雄县| 沅陵县| 五指山市| 辽阳市| 依安县| 江川县| 海兴县| 曲周县| 永胜县| 江口县| 来安县| 迭部县| 开封市| 安国市| 洛宁县| 赤水市| 莲花县| 平顶山市| 连南| 达日县| 武清区| 夏河县| 广东省| 宣汉县| 饶平县| 麻城市| 南昌市| 武平县| 榕江县| 方正县| 和硕县| 诸城市| 房山区| 阿拉善右旗| 巴彦县| 措美县| 湟源县| 冕宁县| 开鲁县| 遵化市| 抚顺县|