> 文章列表 > java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

文章目录

  • 一、学习目标
  • 二、基于java配置方式使用Spring MVC
    • (一)创建Maven项目
    • (二)添加相关依赖
    • (三)创建日志属性文件
    • (四)创建首页文件
    • (五)创建Spring MVC配置类
    • (六)创建Web应用初始化配置类
    • (七)创建演示控制器
    • (八)配置Tomcat服务器
    • (九)启动服务器,查看效果

一、学习目标

二、基于java配置方式使用Spring MVC

(一)创建Maven项目

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

(二)添加相关依赖

java企业级信息系统开发学习笔记07 基于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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>net.huawei.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企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

log4j.rootLogger=WARN, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/springmvc.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

(四)创建首页文件

java企业级信息系统开发学习笔记07 基于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配置类

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

package net.huawei.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;/* 功能:Spring MVC配置类* 作者:华卫* 日期:2023年03月22日*/
@Configuration // 表明当前类是配置类
@EnableWebMvc  // 启用Web MVC功能
@ComponentScan("net.huawei.spring") // 组件扫描
public class SpringMvcConfig {// 定义内部资源视图解析器@Beanpublic InternalResourceViewResolver viewResolver() {// 创建内部资源视图解析器对象InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();// 设置内部资源视图解析器对象属性viewResolver.setViewClass(JstlView.class); // 设置视图类viewResolver.setPrefix("/WEB-INF/classes/templates/"); // 设置前缀viewResolver.setSuffix(".jsp"); // 设置后缀// 返回内部资源视图解析器对象return viewResolver;}
}

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

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

package net.huawei.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;/* 功能:Web应用初始化配置类* 作者:华卫* 日期:2023年03月22日*/
public class MyWebAppInitializer implements WebApplicationInitializer {@Overridepublic 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);}
}

(七)创建演示控制器

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC

package net.huawei.spring.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;/* 功能:演示控制器* 作者:华卫* 日期:2023年03月22日*/
@Controller
public class DemoController {@GetMapping("/index")public String index() {// 返回逻辑视图名return "index";}
}

(八)配置Tomcat服务器

  • 上一学习笔记讲过 对照上一笔记配置

(九)启动服务器,查看效果

java企业级信息系统开发学习笔记07 基于java配置方式使用Spring MVC