前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >纯Java搭建SpringMVC项目

纯Java搭建SpringMVC项目

作者头像
乐心湖
发布2020-07-31 16:53:50
8760
发布2020-07-31 16:53:50
举报
文章被收录于专栏:MyTechnologyMyTechnology

1. 创建工程

这里我们创建一个普通Maven工程,并添加 SpringMVC 的依赖,这里环境的搭建需要用到 Servlet ,所以我们还需要引入 Servlet 的依赖,最终pom.xml 添加的内容如下:

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

2. 添加SpringMVC配置类

代码语言:javascript
复制
@Configuration
@ComponentScan("com.xn2001")
public class SpringMVCConfig {

}

@Configuration标注这个类为配置类

@ComponentScan("com.xn2001"),扫描这个包下里面的Bean。

这里如果不需要在 SpringMVC 中添加其他的额外配置,这样就可以了。

3. 添加web.xml配置类

代码语言:javascript
复制
public class WebInit implements WebApplicationInitializer {

    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext();
        applicationContext.register(SpringMVCConfig.class);
        ServletRegistration.Dynamic springmvc= servletContext.addServlet("springmvc",new DispatcherServlet(applicationContext));
        springmvc.addMapping("/");
        springmvc.setLoadOnStartup(1);
    }
}

对比使用web.xml

代码语言:javascript
复制
    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

对比我们不难看出,使用xml或者类的方式,其本质都是一样的,添加入一个SpringMVC中央处理器,设置配置文件和初始化启动优先级,最后进行mapping。关于里面更深层的东西,我并不觉得自己多懂,也不想在这里长篇大论。

这里为什么没有写Spring配置类,如果你简单开发过SSM整合的项目,你不难发现其实直接将所有配置放到 SpringMVC 的配置中来完成是没有问题的。

4. 添加HelloController

代码语言:javascript
复制
@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello,World";
    }
}

@RestController是@ResponseBody+@Controller的组合,

声明为控制类

且类下的所有方法的返回值(return)由Java对象转为json格式输出,这样我们在浏览器直接看到了内容了。

5. 启动项目

我们需要前往pom.xml中加入下面一行代码,设置打包方式。之后放入Tomcat容器启动项目即可。

代码语言:javascript
复制
<packaging>war</packaging>

如果你启动时首页是404说明已经成功了,这时候在网址后加入hello就看到我们输出的 Hello,World 了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建工程
  • 2. 添加SpringMVC配置类
  • 3. 添加web.xml配置类
    • 对比使用web.xml
    • 4. 添加HelloController
    • 5. 启动项目
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档