91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Idea搭建全注解式開發的SpringMVC項目

發布時間:2023-03-25 14:23:15 來源:億速云 閱讀:144 作者:iii 欄目:開發技術

這篇“怎么使用Idea搭建全注解式開發的SpringMVC項目”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么使用Idea搭建全注解式開發的SpringMVC項目”文章吧。

1. 創建項目

1.打開Idea,并點擊新建項目

注:使用的是2022.2的商業版,該版本跟2021.2的商業版創建Maven項目不一樣

2.點擊右側的新建項目 -> 取名 -> 創建

怎么使用Idea搭建全注解式開發的SpringMVC項目

3.這樣我們就創建了一個空依賴的Maven項目

4.打開項目 -> 右鍵項目名 -> 點擊添加框架支持

有時會找不到,重復這個過程即可

怎么使用Idea搭建全注解式開發的SpringMVC項目

5.勾選Web應用程序,然后點擊確定,若出現Web目錄,則加載完畢

這創建的是傳統的Java Web項目:帶Web目錄的,該目錄下存在WEB-INF目錄

怎么使用Idea搭建全注解式開發的SpringMVC項目

6.補全目錄

創建完的目錄結構如下, 缺失了一些目錄,需要自己在test目錄下創建resource目錄

怎么使用Idea搭建全注解式開發的SpringMVC項目

  • web目錄:該目錄的文件能被外界訪問

  • WEB-INF目錄:該目錄的文件不對外展示

  • web.xml:主要用來配置FilterListenerServlet

7.在pom.xml文件里加入如下代碼,然后刷新Maven,這樣會在target里生成war文件

不這樣做的話,工件中就沒有我們通過Maven引入的Jar包,會導致項目中用到引入Jar包的地方出錯,如下所示
如: 使用@Controller注解設置請求時,會報404

怎么使用Idea搭建全注解式開發的SpringMVC項目

<!--設置打包方式為war-->
<packaging>war</packaging>

8.或者項目結構->工件->創建lib目錄->添加Jar

2. 配置Tomcat

點擊當前文件

怎么使用Idea搭建全注解式開發的SpringMVC項目

點擊編輯配置

怎么使用Idea搭建全注解式開發的SpringMVC項目

點擊+

怎么使用Idea搭建全注解式開發的SpringMVC項目

找到Tomcat服務器,點擊下面的本地

怎么使用Idea搭建全注解式開發的SpringMVC項目

點擊配置

怎么使用Idea搭建全注解式開發的SpringMVC項目

  • 點擊Tomcat主目錄旁的文件圖標,選擇你Tomcat安裝到的文件夾所對應的路徑,點擊確定

    • 這個文件夾應該是bin目錄的父目錄

如果是正確的話,idea會自動幫你填寫Tomcat基目錄

怎么使用Idea搭建全注解式開發的SpringMVC項目

配置工件:點擊修復 -> 會進入一個新頁面 -> 修改應用程序上下文,保留一個即可

怎么使用Idea搭建全注解式開發的SpringMVC項目

怎么使用Idea搭建全注解式開發的SpringMVC項目

我們添加框架支持的時候就會創建一個相關的工件

3. 示例

1.在pom.xml文件中引入相關依賴

<!-- 添加springmvc依賴 -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.3.18</version>
</dependency>
<!-- 添加servlet 依賴 -->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>4.0.1</version>
  <scope>provided</scope>
</dependency>

2.創建Controller

3.在Controller包下創建UserController.java文件, 復制下面代碼到該文件中

package org.example.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
    public class UserController {

        @RequestMapping("/save")
        @ResponseBody
        public String index() {
            return "index";
        }
    }

4.創建Config

5.在Config包下創建一個專用于SpringMVC的配置類-----SpringMvcConfig

該配置類將@ComponentScan注解只用于掃描Controller

為什么要有SpringMVC專門的配置類, 就是為了bean管理起來更清晰
就是將controller層放在springmvc容器中管理, 其他如service層放在父容器Spring中管理

@Configuration
@ComponentScan("org.example.Controller")
//掃描Controller包
public class SpringMvcConfig {
}

6.在Config包下創建Tomcat啟動類SpringMvcInit

  • 該類要繼承AbstractDispatcherServletInitializer

    • AbstractDispatcherServletInitializer類:用于Tomcat啟動

package org.example.Config;

import org.example.Config.SpringMvcConfig;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;

//定義一個servelt容器啟動的配置類,用于加載spring的配置類
public class SpringMvcInit  extends AbstractDispatcherServletInitializer {


    //1. 將controller層放在springmvc容器中,其他如service層放在父容器,bean管理起來更清晰
    //2. 也可以沒有父容器,將所有bean都放在springmvc容器中
    @Override
    //加載springMVC容器的配置類
    protected WebApplicationContext createServletApplicationContext() {
        //創建SpringMVC容器
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        //加載配置類--SpringMvcConfig
        ctx.register(SpringConfig.class);
        return ctx;

    }

    @Override
    //配置哪些請求要被攔截,歸屬SpringMVC處理
    // /: 攔截所有請求
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    @Override
    //加載Spring容器的配置類
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }
}

2. 該類要繼承`AbstractAnnotationConfigDispatcherServletInitializer`類, 用于簡化開發

public class SpringMvcInit  extends AbstractAnnotationConfigDispatcherServletInitializer {

    //1. 將controller層放在springmvc容器中,其他如service層放在父容器,bean管理起來更清晰
    //2. 也可以沒有父容器,將所有bean都放在springmvc容器中
    // === 上面的createRootApplicationContext()做的事
    //用來加載  springmvc容器的父容器spring的配置類
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[0];
    }

    //加載springMVC的配置類
    //=== 上面的createServletApplicationContext()做的事
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringConfig.class};
    }

    //配置哪些請求要被攔截,歸屬SpringMVC處理
    // /: 攔截所有請求
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

}

以上就是關于“怎么使用Idea搭建全注解式開發的SpringMVC項目”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永康市| 广元市| 涞源县| 西乌| 奈曼旗| 黄浦区| 吉木乃县| 靖远县| 长岛县| 蛟河市| 加查县| 濉溪县| 松潘县| 台东市| 蕲春县| 札达县| 阿图什市| 资溪县| 长沙县| 刚察县| 娱乐| 达拉特旗| 望江县| 静乐县| 军事| 蓝山县| 南安市| 枣强县| 金昌市| 嘉峪关市| 东阿县| 迁安市| 博白县| 安丘市| 稷山县| 上饶县| 客服| 沁源县| 广饶县| 林周县| 响水县|