Java配置方式使用Spring MVC

这篇具有很好参考价值的文章主要介绍了Java配置方式使用Spring MVC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


基于Java配置方式使用Spring MVC

上一节,我们学习了如何基于XML配置与注解的方式使用Spring MVC,涉及到三个XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),这一节,我们通过案例学习如何基于Java配置类与注解的方式使用Spring MVC,只有Java配置类,没有XML配置文件。

一、创建Maven项目

Maven项目 - SpringMvcDemo02
Java配置方式使用Spring MVCJava配置方式使用Spring MVC

二、添加相关依赖

在pom.xml文件里添加相关依赖
Java配置方式使用Spring MVC

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.army.spring</groupId>
    <artifactId>SpringMvcDemo02</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <!-- spring.version -->
        <spring.version>5.3.25</spring.version>
    </properties>

    <dependencies>
        <!--Spring核心-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--Spring Bean-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--Spring容器-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--Spring测试-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--Spring数据库支持-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--数据库驱动工具包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.49</version>
        </dependency>
        <!--数据库连接池框架-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.24</version>
        </dependency>
        <!--日志框架-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <!--Spring AOP-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--AspectJ支持-->
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.5.4</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.9.6</version>
            <scope>runtime</scope>
        </dependency>
        <!--单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
        <!--Spring Web-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--Spring MVC-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--JSP标准标签库-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!--Servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!--对json的支持-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.7</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.7</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.7</version>
        </dependency>
        <!--对xml的支持-->
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>2.5.3</version>
        </dependency>
    </dependencies>
</project>

单击刷新按钮,下载(更新)依赖
Java配置方式使用Spring MVC
查看依赖
Java配置方式使用Spring MVC

三、创建日志属性文件

在resources目录里创建log4j.properties
Java配置方式使用Spring MVC

四、创建首页文件

在resources里创建templates子目录,然后在里面创建index.jsp
Java配置方式使用Spring MVC

<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>首页</title>        
    </head>
    <body>
        <h1 style="text-align: center">Welcome to Spring MVC World~</h1>
        <h3 style="text-align: center"><%= new Date() %></h3> <!--JSP表达式元素-->
    </body>
</html>

五、创建Spring MVC配置类

创建net.army.spring.config包,然后在里面创建SpringMvcConfig类
Java配置方式使用Spring MVC

package net.army.spring.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

/**
 * 作者:梁辰兴
 * 日期:2023/5/11
 * 功能:Spring MVC配置类
 */
@Configuration // 表明当前类是配置类
@EnableWebMvc  // 启用Web MVC功能
@ComponentScan("net.army.spring") // 组件扫描
public class SpringMvcConfig {
    // 定义内部资源视图解析器
    @Bean
    public InternalResourceViewResolver viewResolver() {
        // 创建内部资源视图解析器对象
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        // 设置内部资源视图解析器对象属性
        viewResolver.setViewClass(JstlView.class); // 设置视图类
        viewResolver.setPrefix("/WEB-INF/classes/templates/"); // 设置前缀
        viewResolver.setSuffix(".jsp"); // 设置后缀
        // 返回内部资源视图解析器对象
        return viewResolver;
    }
}

六、创建Web应用初始化配置类

现在Java配置方式在逐步取代XML配置方式,WebApplicationInitializer接口可以看做是web.xml的替代,通过实现WebApplicationInitializer接口,在其中可以添加servlet,listener等,在加载Web项目时会加载这个接口实现类,从而起到web.xml相同的作用。

在net.army.spring.config包里里创建MyWebAppInitializer类
Java配置方式使用Spring MVC

package net.army.spring.config;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;

/**
 * 作者:梁辰兴
 * 日期:2023/5/11
 * 功能:Web应用初始化配置类
 */
public class MyWebAppInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        // 创建Web应用容器(基于注解配置类的Web应用容器)
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        // 注册配置类
        context.register(SpringMvcConfig.class); // 对应先前的spring-mvc-config.xml文件
        // 绑定当前的ServletContext对象 - 方法的参数(servletContext)
        context.setServletContext(servletContext);
        // 注册Spring MVC的前端控制器(DispatcherServlet)
        ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(context));
        // 过滤一切资源请求
        servlet.addMapping("/");
        // 设置启动加载顺序
        servlet.setLoadOnStartup(1);
    }
}

七、创建演示控制器

创建net.army.spring.controller子包,然后在里面创建DemoController类
Java配置方式使用Spring MVC

package net.army.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * 作者:梁辰兴
 * 日期:2023/5/11
 * 功能:演示控制器
 */
@Controller
public class DemoController {
    @GetMapping("/index")
    public String index() {
        // 返回逻辑视图名
        return "index";
    }
}

八、配置Tomcat服务器

单击【Current File】下的【Edit Configuration…】
Java配置方式使用Spring MVC单击加号,【Local】
Java配置方式使用Spring MVC
配置如下图所示,最后单击【Fix】
Java配置方式使用Spring MVC单击【Artifacts】-【+】-【Web Application:Exploded】
Java配置方式使用Spring MVC
输入项目名称:SpringMvcDemo02,添加依赖到输出目录和项目编译的输出,单击【Put into /WEB-INF/lib】
Java配置方式使用Spring MVC单击【OK】按钮
Java配置方式使用Spring MVC
此时可以看到SpringMvcDemo02就已经部署到服务器上了
Java配置方式使用Spring MVC
切换到【Server】选项卡

Java配置方式使用Spring MVC

九、启动服务器,查看效果

访问:http://localhost:8080/SpringMvcDemo02/index

Java配置方式使用Spring MVC

修改演示控制器,修改映射路径
Java配置方式使用Spring MVC
重启服务器,访问:http://localhost:8080/SpringMvcDemo02

Java配置方式使用Spring MVC文章来源地址https://www.toymoban.com/news/detail-446922.html

到了这里,关于Java配置方式使用Spring MVC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring CORS 跨域使用与原理(@CrossOrigin注解,Java配置类方式,xml方式)

    出于安全原因,浏览器禁止AJAX调用当前源之外的资源。 跨域资源共享(CORS)是由大多数浏览器实现的W3C规范,它允许您以一种灵活的方式指定授权哪种跨域请求,而不是使用一些不太安全、功能不太强大的hack(如IFrame或JSONP)。 Spring Framework 4.2 GA为CORS提供了一流的开箱即用支持

    2024年02月08日
    浏览(58)
  • 43、基于 springboot 自动配置的 spring mvc 错误处理,就是演示项目报错后,跳转到自定义的错误页面

    Spring MVC 的错误处理:基于 SpringBoot 自动配置之后的 Spring MVC 错误处理。 就是访问方法时出错,然后弄个自定义的错误页面进行显示。 方式一: 基于Spring Boot自动配置的错误处理方式,只要通过属性文件即可配置错误处理行为。 提供自定义的错误页面即可。 方式二: 使用

    2024年02月10日
    浏览(49)
  • Java 新手如何使用Spring MVC 中的查询字符串和查询参数

    目录 前言   什么是查询字符串和查询参数? Spring MVC中的查询参数  处理可选参数 处理多个值 处理查询参数的默认值 处理查询字符串 示例:创建一个RESTful服务  总结 作者简介:  懒大王敲代码,计算机专业应届生 今天给大家聊聊Java 新手如何使用Spring MVC 中的查询字符串

    2024年02月03日
    浏览(49)
  • 【Spring MVC】Spring MVC基于注解的程序开发

    目录 一、什么是Spring MVC  二、Spring MVC项目的创建和使用 1、实现客户端和服务器端之间的连接 1.1、RequsestMapping注解 1.2、@RequestMapper的简单使用  1.3、使用@GetMapping和@POSTMapping注解来实现HTTP连接 三、获取参数 1、实现获取单个参数 2、实现获取对象 3、后端参数重命名(@Requ

    2024年02月13日
    浏览(49)
  • Spring MVC学习随笔-第一个Spring MVC程序(父子项目结构、Tomcat配置、ViewResolver)

    学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅 JDK1.8+ Maven3.6+ IDEA2021+ SpringFramework 5.1.4 Tomcat8.5.29 MySQL5.7.18 按照父子项目的结构,管理和创建项目,创建一个空Project作为父项目,pom文件如下 创建子项目Module: 子项目pom文件: 注意 :初次

    2024年02月05日
    浏览(61)
  • Spring MVC 配置详解 WebMvcConfigurer

    MVC Java配置和MVC XML命名空间提供了适合大多数应用程序的默认配置,并提供了一个配置API来定制它。 在Java配置中,你可以使用  @EnableWebMvc  注解来启用MVC配置,如下例所示: 在XML配置中,你可以使用  mvc:annotation-driven  元素来启用MVC配置,如下例所示: 在Java配置中,你可

    2024年02月02日
    浏览(37)
  • 基于 Spring MVC + MyBits + Maven

    Web 应用开发——基于 Spring MVC + MyBits + Maven ​       Spring MVC是一个基于动作的MVC框架。该框架突出了HTTP中的请求/响应特性,在该框架中,用户的每一个请求都声明了一个需要执行的动作。而这主要是通过将每个请求URI映射到一个可执行的方法来实现的。同时,其也将请求

    2024年02月04日
    浏览(46)
  • Spring MVC配置全局异常处理器!!!

    为什么要使用全局异常处理器:如果不加以异常处理,错误信息肯定会抛在浏览器页面上,这样很不友好,所以必须进行异常处理。 系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图: 结果展示:  

    2024年01月15日
    浏览(45)
  • Spring-mvc的参数传递与常用注解的解答及页面的跳转方式---综合案例

    目录 一.slf4j--日志 二.常用注解        2.1.@RequestMapping       2.2.@RequestParam       2.3.@RequestBody       2.4.@PathVariable 三.参数的传递 3.1 基础类型 3.2 复杂类型 3.3 @RequestParam 3.4  @PathVariable 3.5 @RequestBody 3.6 增删改查  四.返回值            4.1 void 返回值   4.2 String

    2024年02月09日
    浏览(51)
  • 【Java】Spring MVC程序开发

    Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中。它的正式名称是“Spring Web MVC”来自其原模块的名称,但是它通常被称为“Spring MVC” 从上述定义我们可以看到两个信息: Spring MVC 是一个Web框架 Spring MVC 是基于Servlet API构建的 然而要真正的搞懂S

    2024年01月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包