使用Springboot快速搭建SSM框架

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

1、环境准备

  Idea 2017 或 2018,直接安装便可,过低版本webapp模板不一样。java

  tomcat8.0 解压缩便可,配置不配置tomcathome均可。mysql

  mysql5.6web

  maven3.5.0spring

  Java安装jdk版本便可。sql

 2、经过maven模板建立Java web项目

   一、点击 New project,选择maven-webapp项目数据库

   二、输入groupid和artifactid,随便输入便可。单机nextapache

   三、若是没有maven选择便可,选好后单击 next浏览器

   四、选择存放目录后,单击 Finish,开始建立项目tomcat

 

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

3、建立Java web项目文件结构

   一、建立好后结构以下图

src\main\
	java
		com
			huatu
				qa
					controller
					dao
					entity
					service
						impl
					Application.java
	resources
		application.yml
	test

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

 

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

  一、添加 spring-boot-starter-parent

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

  二、添加 “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>

  配置好后以下图:

 5、配置tomcat

   一、点击 Run -> Edit Configurations

   二、若是第一次配置须要选择“Templates” -> Local

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

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

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

   五、保存后设置context

 

  六、返回后确认下端口,以后点击“run”便可启动tomcat

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

  八、下次再次运行能够直接点击 run -> tomcat

 

 6、配置mybatis

  一、 在mysql中建立数据库及表,代表 user_info。字段两个 user_id、user_name。建立好后再增长几条数据

  二、在 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

  其中:

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

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

7、编写代码

一、编写实体类 

  在 entity 目录建立 UserInfo.java 类,内容以下

package com.huatu.qa.entity;

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

下边是get set方法

二、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改完后以下,这里有两个选择

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

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

三、Service层代码

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

package com.huatu.qa.service;

public interface IUserInfoService {
    Object selectAll();
}

  在 service\impl 目录下建立一个实现类 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;
    }
}

四、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();
    }

}

五、配置快速启动类

  在 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);
    }

}

  以上都完成后以下图

8、运行

  一、点击 run -> tomcat ,若是以前已经启动tomcat请重启。若是启动两个tomcat会报端口冲突,须要手动找到那个java进程kill掉。

 

  二、浏览器输入接口地址 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

相关文章
相关标签/搜索