1. 程式人生 > >idea 整合 SpringBoot+MyBatis 聚合工程

idea 整合 SpringBoot+MyBatis 聚合工程

1,建父工程test_demo:刪除父工程下的src檔案
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

然後next -> finish
(第一步也可以用spring initialize來代替maven建立,即直接建立spring initialize,然後不勾選任何模組,一直next,建立成功後,除了pom.xml,其他都刪除)

2,分別建子工程entity,service,dao,web

右擊父工程,如圖

在這裡插入圖片描述
點選Spring Initialize --> next -->(或者選擇maven,將會建立子模組,不過需要手動新增springboot依賴)
在這裡插入圖片描述
先建web(group屬性必須跟父模組完全一致,如com.test)
在這裡插入圖片描述

然後next
在這裡插入圖片描述
在這裡插入圖片描述
然後next–>finish

(通過Springboot初始化不能直接成為子模組,需要更改pom.xml,跟上面括號裡面直接在父工程中new-》module-》maven,得到的將直接是子模組,但不會自動匯入Springboot依賴)將demo_web 裡 pom.xml 的jar包依賴 剪下到 父工程的pom.xml中,因為後續web模組會繼承父模組的pom(也可以只剪下parent,再在web模組pom.xml中新建一個parent,把groupId和artifactId,version改成父工程對應的,成為父工程的子模組,這種通過spring initialize方法建立的module自帶packaging打包方式,需要刪除以及刪除打包外掛build裡面的plugin,因為繼承了父工程,打包方式為pom)

在這裡插入圖片描述

demo_web就建完了

之後建dao,service,entity

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
到這兒之後一直next->next->finish期間任何選項都不選

service,dao都如此,其中都將pom.xml中的 jar包依賴 刪掉,jar包依賴 只需在 父工程的pom.xml中有就可以

3,開啟父工程的pom.xml 新增

<packaging>pom</packaging>

在這裡插入圖片描述

並新增其子工程:
在這裡插入圖片描述

並新增mapper位置(以防後邊找不到mapper.xml)

<!--   mapper  配置位置      -->
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
</resources>

在這裡插入圖片描述

4,分別在dao,service,entity,web中加入父工程依賴:如下圖

在這裡插入圖片描述

5,分別加入依賴:dao層依賴entity(如下圖); service依賴dao,entity; web依賴service,entity;entity不需要
在這裡插入圖片描述

6,在demo_web中測試搭建是否成功

在demo_web的com.test.demo_web包結構下建立一個包controller(如圖)

7,新增application.properties(配置資料來源,.xml檔案,配置jsp)

spring.datasource.url=jdbc:mysql://localhost:3306/test1
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.mapper-locations = classpath:mapper/*.xml

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp


把子模組中的packaging刪除,只保留父模組pom中的packaging,子模組最好只保留父模組和依賴模組

<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>
  <parent>
    <groupId>com.imooc</groupId>
    <artifactId>imooc-videos-dev</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>imooc-videos-dev-mini-api</artifactId>
  <dependencies>
  	<dependency>
  		<groupId>com.imooc</groupId>
  		<artifactId>imooc-videos-dev-service</artifactId>
  		<version>0.0.1-SNAPSHOT</version>
  	</dependency>
  </dependencies>
</project>

8,在SpringBoot的入口加上exclude= {DataSourceAutoConfiguration.class}(測試時)

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class DemoWebApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoWebApplication.class, args);
   }
}

測試結果:

在這裡插入圖片描述

以上就是使用springboot搭建簡單的聚合專案