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、创建好后结构如下图

src\main\
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();
}

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

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

使用Springboot快速搭建SSM框架的更多相关文章

  1. 快速搭建ssm框架

    快速搭建SSM框架 因为最近有很多朋友问我自己的项目搭建的不够完善,并且经常出现一些小问题,那么今天我又整理了一下文档教大家如何快速搭建SSM框架我是用 eclipse搭建的,如果想用idear的话我 ...

  2. 基于IDEA采用springboot+Mybatis搭建ssm框架简单demo项目的搭建配置流程

    一.通过对比可以原始SSM搭建流程,spring boot省去了大量的配置,极大提高了开发者的效率.原始SSM框架搭建流程见博客: https://www.cnblogs.com/No2-explor ...

  3. Spring-boot:快速搭建微框架服务

    前言: Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提供了一堆依赖打包,并 ...

  4. maven项目快速搭建SSM框架(一)创建maven项目,SSM框架整合,Spring+Springmvc+Mybatis

    首先了解服务器开发的三层架构,分配相应的任务,这样就能明确目标,根据相应的需求去编写相应的操作. 服务器开发,大致分为三层,分别是: 表现层 业务层 持久层 我们用到的框架分别是Spring+Spri ...

  5. 快速搭建SSM框架环境开发项目【配置】

    maven在线仓库https://mvnrepository.com/ maven构建项目 pom.xml <project xmlns="http://maven.apache.or ...

  6. 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(上)

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中spring是一个轻 ...

  7. 快速搭建SSM基本项目

    快速搭建SSM项目基本手脚架 Maven构建项目 一般我们使用Maven来管理我们的项目: 导入相关依赖配置pom.xml: <?xml version="1.0" enco ...

  8. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

  9. 脚手架快速搭建springMVC框架项目

    apid-framework脚手架快速搭建springMVC框架项目   rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮 ...

随机推荐

  1. 在windows上部署使用redis出现的问题及解决方法

    在windows上部署使用Redis出现问题的解决方法  原文链接:https://www.cnblogs.com/herry52/p/5938902.html 下载Redis 在Redis的官网下载 ...

  2. CRC-16的原理和实现

    CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验.它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制.实际上,除 数据 ...

  3. Java_myBatis_一对多映射

    例如我们有需求需要实现以下查询  "一个用户对多条订单编号": select user.*,o.number,o.createtime from user left JOIN or ...

  4. JS中的offsetWidth、offsetHeight、clientWidth、clientHeight等等的详细介绍

    javascript中offsetWidth.clientWidth.width.scrollWidth.clientX.screenX.offsetX.pageX 原文:https://www.cn ...

  5. C#多线程和异步(一)——基本概念和使用方法

    一.多线程相关的基本概念 进程(Process):是系统中的一个基本概念. 一个正在运行的应用程序在操作系统中被视为一个进程,包含着一个运行程序所需要的资源,进程可以包括一个或多个线程 .进程之间是相 ...

  6. JMS的P2P和PUB/SUB区别和应用场景介绍【转】

    完全引用自: https://my.oschina.net/alexgaoyh/blog/338890  解释得非常棒. 1.P2P模型 在P2P模型中,有下列概念: 消息队列(Queue). 发送者 ...

  7. FZU 2254 英语考试

    在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习. 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m. YellowSatr准备采用联想记忆法来背诵这 ...

  8. UESTC - 1167 一句话题意

    ---恢复内容开始--- 题目链接:https://vjudge.net/problem/UESTC-1167 请问从n*n的正方形左下角走到右上角且不越过对角线的情况总数模m的结果~ 分析: 还记得 ...

  9. 淘淘商城之Ajax跨域请求

    一.什么是跨域 (1)域名不同时: (2)域名相同,端口不同时 二.解决方法 可以使用jsonp解决跨域问题 三.什么是jsonp jsonp其实是一个跨域解决方案,js跨域请求数据是不允许的,但是跨 ...

  10. 设置通过Maven创建的工程的JDK版本—一劳永逸

    设置通过Maven创建的工程的JDK版本—一劳永逸 [1]打开settings.xml文件 [2]找到profiles标签 [3]加入一下配置   <profile> <id> ...