使用Maven搭建Springboot版ssm框架

开发环境
IDE:Idea-2017.1.4
Maven:3.0.4
Spring-Boot:1.5.3.RELEASE
mysql:5.5.49
开发步骤:
一、搭建Maven版本SpringBoot工程
1 .搭建普通Maven工程
2 .导入SpringBoot依赖
3 .书写SpringBoot运行主类
4 .配置application.properties文件
5 .测试SpringBoot是否搭建成功
二、搭建SSM工程
1 .建立UserBean类
2 .建立mapper.xml文件
3 .建立mapper,service,controller类
4 .配置application.properties文件
5 .启动工程测试

直接上截图:
一、搭建Maven版本SpringBoot工程
1 .使用Idea搭建普通Maven工程
新建Maven工程
使用模板创建Maven工程
使用模板创建Maven工程
填写项目在全球的唯一标识和项目名称
填写项目在全球的唯一标识和项目名称
填写Maven的配置(请保证填写的Maven配置可以正常连接到Maven仓库)
填写Maven配置
直接点击finish完成即可
Maven工程建立完成

2 .导入SpringBoot依赖
引入依赖前,将maven生成的一些插件和依赖删除,只保留如下配置:

<?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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.org.test</groupId>
  <artifactId>spring-bootTest</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>spring-bootTest Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
  </dependencies>

  <build>
   <!--项目打出来的war包的名称-->
    <finalName>spring-bootTest</finalName>
  </build>
</project>

在pom.xml文件中加入以下依赖

<!--继承spring-boot-starter-parent项目来获得一些合理的默认配置-->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
  </parent>
<!--web项目依赖-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

3 .建立包路径cn.org.test。并在test包下书写SpringBoot运行主类

@SpringBootApplication
public class SpringBootUserApplication {
    /**
     * spring boot的入口
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(SpringBootUserApplication.class,args);
    }
}

@SpringBootApplication注解的作用(个人理解):
(1).扫描当前包及当前包子包下被@Controller、@service、@Resposity注解的类,并将其加入到Spring容器管理
(2).程序启动时,加载SpringBoot默认的配置
进行到这一步,项目结构为:
项目结构
4 .测试SpringBoot是否搭建成功
运行主类中的main方法,启动SpringBoot工程。看到下图所示提示信息,代表启动成功
SpringBoot基础代码环境搭建成功
二、搭建SSM工程
1 .添加mybatis和mysql驱动依赖

<!--SpringBoot和Mybatis的集成-->
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.1</version>
    </dependency>
    <!--Mysql驱动包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.23</version>
    </dependency>

2 .在test包下建立domain包并在其下建立UserBean类,随便写几个属性

public class User implements Serializable {
    private String userId;
    private String userName;
    private int age;
    private String address;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        User user = (User) o;

        if (age != user.age) return false;
        if (userId != null ? !userId.equals(user.userId) : user.userId != null) return false;
        if (userName != null ? !userName.equals(user.userName) : user.userName != null) return false;
        return address != null ? address.equals(user.address) : user.address == null;
    }

    @Override
    public int hashCode() {
        int result = userId != null ? userId.hashCode() : 0;
        result = 31 * result + (userName != null ? userName.hashCode() : 0);
        result = 31 * result + age;
        result = 31 * result + (address != null ? address.hashCode() : 0);
        return result;
    }
}

3 .建立mapper.xml文件
新建resources文件夹,并在其下建立mapper包,在mapper下建立mapper.xml文件,结构如下:
mapper文件所在目录
mapper.xml

<?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="cn.org.test.mapper.UserMapper">
    <resultMap id="getUser" type="User">
        <result column="user_id" property="userId" jdbcType="VARCHAR" />
        <result column="user_name" property="userName" jdbcType="VARCHAR" />
        <result column="age" property="age" jdbcType="INTEGER" />
        <result column="address" property="address" jdbcType="VARCHAR" />
    </resultMap>
    <select id="getUser" resultMap="getUser">
        SELECT * from USER
    </select>
</mapper>

4 .分别在test包下建立mapper包,service包,controller包,并分别在其下建立mapper接口,service接口,controller类
(1) UserMapper.java

public interface UserMapper {
    public User getUser();
}

(2) 建立service接口

public interface UserService {
    public User getUser();
}

在service包下建立impl包,并在impl包下建立UserServiceImpl.java。实现UserService接口

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    public UserMapper userMapper;

    @Override
    public User getUser() {
        User user = userMapper.getUser();
        return user;
    }
}

(3) UserController.java

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    public UserService userService;
    @RequestMapping("/getUser")
    @ResponseBody
    public User getUser(String userId) {
        System.out.println("获取到用户的唯一标识:"+userId);
        User user = userService.getUser();
        return user;
    }
}

注意:我们自己写的类所在包层级要低于主类所在包的层级,否则Springboot主类无法扫描我们写的类。启动工程后,进行访问。会报出如下错误:
错误截图
我工程中的层级结构截图如下:
主类以及自写类层级结构划分截图
5 .在resources文件夹下新建application.properties文件,并添加如下配置:

#数据库连接配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/user?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=1234
#mybatis扫描mapper文件
mybatis.mapper-locations=classpath:/mapper/*.xml
#mybatis将bean设置别名
mybatis.type-aliases-package=cn.org.test.domain

6 .在SpringBoot运行主类上添加@MapperScan注解,扫描Mapper接口。

@SpringBootApplication
@MapperScan(basePackages = {"cn.org.test.,mapper")
public class SpringBootUserApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootUserApplication.class,args);
    }
}

7 .建立数据库表
数据库表
8 .启动工程测试
成功获取到数据

猜你喜欢

转载自blog.csdn.net/qq_39839075/article/details/83215642