使用Springboot快速搭建SSM框架

Spring Boot设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

一、环境准备

  Idea 2017 或 2018,直接安装即可,太低版本webapp模板不同。

  tomcat8.0 解压缩即可,配置不配置tomcathome都可。

  mysql5.6

  maven3.5.0

  Java安装jdk版本即可。

 二、通过maven模板创建Java web项目

   1、点击 New project,选择maven-webapp项目

   2、输入groupid和artifactid,随便输入即可。单机next

   3、如果没有maven选择即可,选好后单击 next

   4、选择存放目录后,单击 Finish,开始创建项目

 

   5、第一次根据你的网络不同所需时间不同,我第一次创建大概用了10多分钟。成功后如下图能看到web.xml部署描述文件。

三、创建Java web项目文件结构

   1、创建好后结构如下图

srcmain
	java
		com
			huatu
				qa
					controller
					dao
					entity
					service
						impl
					Application.java
	resources
		application.yml
	test

  2、目录创建完毕选择,源码 Source root;资源 resource,test等资源目录

 

四、配置pom.xml导入必要的jar包

  1、添加 spring-boot-starter-parent

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
  </parent>

  2、添加 “spring-boot-starter-web”、“mysql-connector-java”、“org.mybatis.spring.boot”

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.1</version>
    </dependency>

  配置好后如下图:

 五、配置tomcat

   1、点击 Run -> Edit Configurations

   2、如果第一次配置需要选择“Templates” -> Local

  主要设置tomcat位置,选择你的tomcat加压缩目录即可。

  3、再次点击 Run -> Edit Configurations,点 + 号,选择里边的 Tomcat server -> local

   4、选择 “Deployment” -> + 号,选择 “war exploded”,在开发阶段选择这个支持热部署。

   5、保存后设置context

 

  6、返回后确认下端口,之后点击“run”即可启动tomcat

   7、运行成功后会自动打开浏览器看到如下图

  8、下次再次运行可以直接点击 run -> tomcat

 

 六、配置mybatis

  1、 在mysql中创建数据库及表,表明 user_info。字段两个 user_id、user_name。创建好后再增加几条数据

  2、在 resources 目录添加 application.yml  配置数据源和映射文件路径

#application.yml
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/aaa?serverTimezone=GMT
    username: root
    password: 123456

mybatis:
  mapper-locations: classpath:dao/**/*Dao.xml

  其中:

    1、serverTimezone=GMT 是高版本mysql jar需要配置服务器时区

    2、com.mysql.cj.jdbc.Driver 为高版本mysql使用的driver

七、编写代码

1、编写实体类 

  在 entity 目录创建 UserInfo.java 类,内容如下

package com.huatu.qa.entity;

public class UserInfo {
    private String userId;
    private String userName;

下边是get set方法

2、Dao层代码

   在 dao 目录中添加 UserInfoDao.java、UserInfoDao.xml

  dao接口

package com.huatu.qa.dao;

import com.huatu.qa.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserInfoDao {
    public List<UserInfo> selectAll();
}

  mapper映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huatu.qa.dao.UserInfoDao">

    <resultMap id="AllColumnMap" type="com.huatu.qa.entity.UserInfo">
        <result column="user_id" property="userId"/>
        <result column="user_name" property="userName"/>
    </resultMap>

    <select id="selectAll" resultMap="AllColumnMap">
        SELECT * FROM user_info
    </select>
</mapper>

  修改pom.xml复制mapper映射文件到resource目录

    <resources>
      <resource>
        <directory>src/main/java/com/huatu/qa</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>

  pom改完后如下,这里有两个选择

    1、将mapper直接放到resource目录。mvn编译时会自动将xml复制到运行resource目录。但这样有一个问题就是如果你有多个配置,比如测试配置,生产配置每个目录里都要有一份mapper文件。

    2、就是放到dao或其它目录运行时在通过pom中的resource配置,复制到运行resource目录。之前就是这里忘记配置了,导致找不到mapper文件。

3、Service层代码

  在 service 目录中创建一个接口 IUserInfoService.java

package com.huatu.qa.service;

public interface IUserInfoService {
    Object selectAll();
}

  在 serviceimpl 目录下创建一个实现类 UserInfoService.java

package com.huatu.qa.service.impl;

import com.huatu.qa.dao.UserInfoDao;
import com.huatu.qa.entity.UserInfo;
import com.huatu.qa.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserInfoService implements IUserInfoService {

    @Autowired
    UserInfoDao userInforDao;

    @Override
    public Object selectAll() {
        List<UserInfo> list = userInforDao.selectAll();
        return list;
    }
}

4、controller层代码 

  在 controller 目录下创建 UserInfoController.java

package com.huatu.qa.controller;

import com.huatu.qa.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class UserInfoController {
    @Autowired
    IUserInfoService userInfoService;

    @RequestMapping("/users")
    @ResponseBody
    public Object selectAll(){
        return userInfoService.selectAll();
    }

}

5、配置快速启动类

  在 package 目录 创建 Application.java

package com.huatu.qa;

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

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

}

  以上都完成后如下图

八、运行

  1、点击 run -> tomcat ,如果之前已经启动tomcat请重启。如果启动两个tomcat会报端口冲突,需要手动找到那个java进程kill掉。

 

  2、浏览器输入接口地址 http://localhost:8080/htqa_war_exploded/users  会看到请求回来的数据

  到此使用springboot搭建一个完整ssm项目框架,是不是越来越简单。

 

参考文档:

  Springboot快速搭建SSM框架

  https://blog.csdn.net/qq1131410679/article/details/79958441

   快速搭建一个SSM框架demo

  https://www.cnblogs.com/wchxj/p/8017449.html

原文地址:https://www.cnblogs.com/rslai/p/10125810.html