日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

idea创建springboot项目+mybatis_Spring Boot + MyBatis 多模块项目搭建教程

發布時間:2023/12/13 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea创建springboot项目+mybatis_Spring Boot + MyBatis 多模块项目搭建教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java后端,選擇“”

優質文章,及時送達

作者 | 楓本非凡

鏈接 | cnblogs.com/orzlin/p/9717399.html

上篇 | IDEA 遠程一鍵部署 Spring Boot 到 Docker

一、前言

最近公司項目準備開始重構,框架選定為SpringBoot+Mybatis,本篇主要記錄了在IDEA中搭建SpringBoot多模塊項目的過程。

1、開發工具及系統環境

  • IDE:

    IntelliJ IDEA 2018.2

  • 系統環境:

    mac OSX

2、項目目錄結構

  • biz層:

    業務邏輯層

  • dao層:

    數據持久層

  • web層:

    請求處理層

二、搭建步驟

1、創建父工程

IDEA 工具欄選擇菜單 File -> New -> Project...

選擇Spring Initializr,Initializr默認選擇Default,點擊Next

填寫輸入框,點擊Next

這步不需要選擇直接點Next

點擊Finish創建項目

最終得到的項目目錄結構如下

刪除無用的.mvn目錄、src目錄、mvnw及mvnw.cmd文件,最終只留.gitignore和pom.xml

2、創建子模塊

選擇項目根目錄beta右鍵呼出菜單,選擇New -> Module

選擇Maven,點擊Next

填寫ArifactId,點擊Next

修改Module name增加橫杠提升可讀性,點擊Finish

同理添加beta-dao、beta-web子模塊,最終得到項目目錄結構如下圖

3、運行項目

在beta-web層創建com.yibao.beta.web包(注意:這是多層目錄結構并非單個目錄名,com >> yibao >> beta >> web)并添加入口類BetaWebApplication.java

@SpringBootApplicationpublic class BetaWebApplication {

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

在com.yibao.beta.web包中添加controller目錄并新建一個controller,添加test方法測試接口是否可以正常訪問

@RestController@RequestMapping("demo")public class DemoController {

@GetMapping("test") public String test { return "Hello World!"; }}

運行BetaWebApplication類中的main方法啟動項目,默認端口為8080,訪問http://localhost:8080/demo/test得到如下效果

以上雖然項目能正常啟動,但是模塊間的依賴關系卻還未添加,下面繼續完善。微信搜索 web_resource 獲取更多推送

4、配置模塊間的依賴關系

各個子模塊的依賴關系:biz層依賴dao層,web層依賴biz層

父pom文件中聲明所有子模塊依賴(dependencyManagement及dependencies的區別自行查閱文檔)

com.yibao.beta beta-biz ${beta.version} com.yibao.beta beta-dao ${beta.version} com.yibao.beta beta-web ${beta.version}

其中${beta.version}定義在properties標簽中

在beta-web層中的pom文件中添加beta-biz依賴

com.yibao.beta beta-biz

在beta-biz層中的pom文件中添加beta-dao依賴

com.yibao.beta beta-dao

4. web層調用biz層接口測試

在beta-biz層創建com.yibao.beta.biz包,添加service目錄并在其中創建DemoService接口類,微信搜索 web_resource 獲取更多推送

public interface DemoService { String test;}

@Servicepublic class DemoServiceImpl implements DemoService {

@Override public String test { return "test"; }}

DemoController通過@Autowired注解注入DemoService,修改DemoController的test方法使之調用DemoService的test方法,最終如下所示:

package com.yibao.beta.web.controller;@RestController@RequestMapping("demo")public class DemoController {

@Autowired private DemoService demoService;

@GetMapping("test") public String test { return demoService.test; }}

再次運行BetaWebApplication類中的main方法啟動項目,發現如下報錯

***************************APPLICATION FAILED TO START***************************

Description:Field demoService in com.yibao.beta.web.controller.DemoController required a bean of type 'com.yibao.beta.biz.service.DemoService' that could not be found.

Action:Consider defining a bean of type 'com.yibao.beta.biz.service.DemoService' in your configuration.

原因是找不到DemoService類,此時需要在BetaWebApplication入口類中增加包掃描,設置@SpringBootApplication注解中的scanBasePackages值為com.yibao.beta,最終如下所示

package com.yibao.beta.web;

@SpringBootApplication(scanBasePackages = "com.yibao.beta")@MapperScan("com.yibao.beta.dao.mapper")public class BetaWebApplication {

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

設置完后重新運行main方法,項目正常啟動,訪問http://localhost:8080/demo/test得到如下效果

6. 集成Mybatis

父pom文件中聲明mybatis-spring-boot-starter及lombok依賴

dependencyManagement> org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 org.projectlombok lombok 1.16.22

在beta-dao層中的pom文件中添加上述依賴

org.mybatis.spring.boot mybatis-spring-boot-starter mysql mysql-connector-java org.projectlombok lombok

在beta-dao層創建com.yibao.beta.dao包,通過mybatis-genertaor工具生成dao層相關文件(DO、Mapper、xml),存放目錄如下

applicatio.properties文件添加jdbc及mybatis相應配置項

spring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.url = jdbc:mysql://192.168.1.1/test?useUnicode=true&characterEncoding=utf-8spring.datasource.username = testspring.datasource.password = 123456

mybatis.mapper-locations = classpath:mybatis/*.xmlmybatis.type-aliases-package = com.yibao.beta.dao.entity

DemoService通過@Autowired注解注入UserMapper,修改DemoService的test方法使之調用UserMapper的selectByPrimaryKey方法,最終如下所示

package com.yibao.beta.biz.service.impl;

@Servicepublic class DemoServiceImpl implements DemoService {

@Autowired private UserMapper userMapper;

@Override public String test { UserDO user = userMapper.selectByPrimaryKey(1); return user.toString; }}

再次運行BetaWebApplication類中的main方法啟動項目,發現如下報錯

APPLICATION FAILED TO START***************************

Description:Field userMapper in com.yibao.beta.biz.service.impl.DemoServiceImpl required a bean of type 'com.yibao.beta.dao.mapper.UserMapper' that could not be found.

Action:Consider defining a bean of type 'com.yibao.beta.dao.mapper.UserMapper' in your configuration.

原因是找不到UserMapper類,此時需要在BetaWebApplication入口類中增加dao層包掃描,添加@MapperScan注解并設置其值為com.yibao.beta.dao.mapper,最終如下所示

package com.yibao.beta.web;

@SpringBootApplication(scanBasePackages = "com.yibao.beta")@MapperScan("com.yibao.beta.dao.mapper")public class BetaWebApplication {

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

設置完后重新運行main方法,項目正常啟動,訪問http://localhost:8080/demo/test得到如下效果

至此,一個簡單的SpringBoot+Mybatis多模塊項目已經搭建完畢,我們也通過啟動項目調用接口驗證其正確性。

四、總結

一個層次分明的多模塊工程結構不僅方便維護,而且有利于后續微服務化。在此結構的基礎上還可以擴展common層(公共組件)、server層(如dubbo對外提供的服務)微信搜索 web_resource 獲取更多推送

此為項目重構的第一步,后續還會的框架中集成logback、disconf、redis、dubbo等組件

五、未提到的坑

在搭建過程中還遇到一個maven私服的問題,原因是公司內部的maven私服配置的中央倉庫為阿里的遠程倉庫,它與maven自帶的遠程倉庫相比有些jar包版本并不全,導致在搭建過程中好幾次因為沒拉到相應jar包導致項目啟動不了。

-END-

如果看到這里,說明你喜歡這篇文章,請轉發、點贊。微信搜索「web_resource」,關注后回復「進群」或者掃描下方二維碼即可進入無廣告交流群。

總結

以上是生活随笔為你收集整理的idea创建springboot项目+mybatis_Spring Boot + MyBatis 多模块项目搭建教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。