使用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、創建好后結構如下圖

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM