使用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

相關文章
相關標籤/搜索