欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IDEA 利用Spring Boot搭建简单的Spring MVC框架

程序员文章站 2022-03-09 22:56:09
...

前言

陆续自学了spring和spring boot。也用spring搭建过ssm框架,做了个小项目,从0搭建ssm项目框架的时候,真的很繁琐,当时花了好久才把ssm框架搭建起来。这学期学了spring boot框架,发现spring boot开发项目的时候,真的很容易就把环境搭起来了。这学期就整合 Spring boot +Mysql+ Redis + Shiro+ Spring-data-jpa ,搭建了一个比较完善的框架 用来开发一个项目的后端(有空的话,就写一个整合上述框架的教程)。
现在,期末大作业需要用一个Spring MVC框架来开发,所以就想用Spring boot快速搭建一个Spring MVC框架,避免繁琐的xml配置方法。下面把搭建过程记录一下。

新建Spring Boot 项目

首先新建一个项目,选择Spring Initializer,然后保持默认即可,点击Next
IDEA 利用Spring Boot搭建简单的Spring MVC框架
然后联网下载Spring boot模板,接着填入项目的信息,我这里保持默认,具体的读者根据自己需求改,填好后点击Next
IDEA 利用Spring Boot搭建简单的Spring MVC框架
接下来就是选择项目要加入的依赖,在这里不选,直接点下一步也可以,需要什么依赖稍后再pom.xml声明即可。我这里选择了 Lombok(自动生成get/set方法)和Spring Web, 然后点击Next

IDEA 利用Spring Boot搭建简单的Spring MVC框架
IDEA 利用Spring Boot搭建简单的Spring MVC框架
选择保存位置,然后Finish
IDEA 利用Spring Boot搭建简单的Spring MVC框架
等待一段时间,等idea下载好依赖,项目目录 如下
IDEA 利用Spring Boot搭建简单的Spring MVC框架

配置Spring MVC环境

pom.xml

在pom.xml中加入以下依赖

 		<dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!--hutool工具包-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.6.2</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version> 5.1.47</version>
        </dependency>
        <!--druid 连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.18</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version> 3.1.2</version>
        </dependency>

因为我mysql是5.7,所以下载是5.1的驱动包,如果是mysql8.0,需要把版本改成8.0

新建相应包路径

  1. 在demo包下新建四个包:controller,dao,entity,service
  2. 在main下三个文件夹,webapp,WEB-INF,jsp
    IDEA 利用Spring Boot搭建简单的Spring MVC框架
    然后把webapp设置web 根目录,打开Project Structure,按照下图操作
    IDEA 利用Spring Boot搭建简单的Spring MVC框架
    IDEA 利用Spring Boot搭建简单的Spring MVC框架
    IDEA 利用Spring Boot搭建简单的Spring MVC框架

application.yml

resources文件夹下的application.properties 后缀名改为yml。其实application.ymlapplication.properties效果是一样的,但是yml格式看起来层次感更清晰。

server:
  port: 8001 #端口
  servlet:
    context-path: /
  tomcat: #内置tomcat的一些配置
    uri-encoding: UTF-8
    max-threads: 200
    min-spare-threads: 30
    connection-timeout: 60000

spring:
  datasource: #数据库配置
    url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.jdbc.Driver #如果是mysql8.0这里改成 com.mysql.cj.jdbc.Driver
    logSlowSql: true
  jpa: #jpa设置
    show-sql: true #在控制台展示sql语句
    generate-ddl: true #自动根据实体类在数据库生成对应的表
    hibernate:
      ddl-auto: update #修改实体类属性时候也更新数据库表
  main:
    allow-bean-definition-overriding: true
  mvc: # mvc设置
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
mybatis-plus:
  configuration: #驼峰命名法转成自动转成下划线
    map-underscore-to-camel-case: true

IDEA 利用Spring Boot搭建简单的Spring MVC框架

DemoApplication 启动类

  1. 添加@ServletComponentScan注解
  2. 继承SpringBootServletInitializer
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
@ServletComponentScan
public class DemoApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

IDEA 利用Spring Boot搭建简单的Spring MVC框架

测试

写一个简单控制类和一个简单JSP文件
IDEA 利用Spring Boot搭建简单的Spring MVC框架

@Controller
public class MainController {
    @RequestMapping("/index")
    public String test(){
        return "index";
    }
}

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
demo Test<br>
中文测试
</body>
</html>

运行DemoApplication
IDEA 利用Spring Boot搭建简单的Spring MVC框架