日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

瀏覽:188日期:2023-03-29 18:05:19

記錄一下從零開始搭建一個springboot+springcloud+mybatis本地項目的demo的過程。純代碼小白一枚,若有不足或錯誤之處,歡迎廣大朋友指出!

開發環境準備:IDE:IntelliJ Idea 2019.3數據庫:mysql 8.0.2.2SpringBoot版本:2.2.0.RELEASESpringCloud版本:Hoxton.RELEASE

一、創建一個新的Idea項目

打開Idea,單擊New->File->Project,選擇Maven,直接下一步

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

輸入我們的項目名,我這里起名為pam,單擊Finish完成創建

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

二、右鍵單擊project下的父節點

->New->Module,創建一個注冊中心服務端的Module,輸入一下名稱,我這里以pam-server為例,直接選finish;同理再創建一個客戶端的Module,輸入一下名稱,我這里以pam-service為例,直接選finish,結構如圖所示:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

三、單擊File

->Settings->Maven,配置一下本地的maven,單擊OK

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

四、在最外層pom文件

引入一下springboot、springcloud及mybatis的依賴。這里引入的springboot版本為2.2.0-RELEASE,與之相對應的springcloud版本為Hoxton.RELEASE。注意二者版本需要相適配,否則會啟動報錯。這里額外引入了幾個常用依賴,直接在maven單擊一下刷新,倉庫即可在線將所需依賴下載進去。

<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!--注冊中心相關依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.0.4.RELEASE</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.10.0</version> </dependency> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> <version>1.3.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-contract-stub-runner</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-contract-verifier</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-stream-test-support</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> </dependencies>五、創建如圖所示的目錄結構:

①編寫注冊中心,注冊中心目錄結構:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

編寫WebApplication啟動類,添加注解@EnableEurekaServer和@SpringBootApplication,我這里想做一個純注冊中心,不與數據庫掛鉤,所以增加了一個exclude = DataSourceAutoConfiguration.class,啟動項目時不自動與數據庫連接,若想讓注冊中心也連接數據庫,這個exclude也可以不要。如圖所示:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

編寫application.yml

server: port: 8081eureka: instance: hostname: 127.0.0.1 server: enable-self-preservation: false # 關閉自我保護模式(默認為打開) eviction-interval-timer-in-ms: 600000 # 續期時間,即掃描失效服務的間隔時間 一分鐘,本地測試不需這么頻繁,調為1小時 client: register-with-eureka: false #自己就是注冊中心,不用注冊自己 fetch-registry: false #是否去注冊中心獲取其他服務的地址 serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/spring: application: name: xinrong freemarker: prefer-file-system-access: false

編寫bootstrap.yml:

spring: cloud: config: enabled: false

編寫log4j.properties:

log4j.rootLogger=info, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%nlog4j.appender.logfile=org.apache.log4j.FileAppenderlog4j.appender.logfile.File=target/spring.loglog4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

②編寫消費者pam-service,消費者目錄結構:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

編寫消費者啟動類PamApplication.java,添加注解@MapperScan(basePackages = {“com.xinrong.pam.*.mapper”})含義:mybatis中Mapper文件對應的包,啟動項目時會自動掃描

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

編寫消費者application.yml:

server: port: 8088 #端口號8088eureka: instance: hostname: 127.0.0.1 server: enable-self-preservation: false # 關閉自我保護模式(默認為打開) eviction-interval-timer-in-ms: 600000 # 續期時間,即掃描失效服務的間隔時間 一分鐘 client: register-with-eureka: true #注冊到注冊中心 fetch-registry: true #是否去注冊中心獲取其他服務的地址:是 serviceUrl: defaultZone: http://127.0.0.1:8081/eureka/ #注冊中心地址mybatis: mapper-locations: mapper/* #mybatis映射文件路徑 config-location: classpath:/mybatis/mybatis-config.xml #mybatis配置文件路徑spring: application: name: pam #項目名 datasource: url: jdbc:mysql://127.0.0.1:3306/pam?characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver freemarker: prefer-file-system-access: falsejdbc: driverClass: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/pam username: root password: root

在數據庫中創建一個pam_user表:

create table pam_user(objectId varchar(50) not null primary key ,userName varchar(50),password varchar(255),phoneNo varchar(20),sex varchar(5),birthDay date,Email varchar(50));

插入一條測試數據:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

編寫user文件夾,創建五層架構,在domain中創建一個實體類User:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

創建controller類接口及實現類,添加@RestController注解,在接口上添加@RequestMapping注解:接口:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

實現類:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

同理,添加service接口及實現類,注意在實現類上添加@Service注解:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

創建mapper文件,編寫Mapper接口,添加@Repository注解:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

在resources中創建mybatis文件夾,編寫mybatis-config.xml配置文件:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE configuration PUBLIC '-//mybatis.org//DTD Config 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-config.dtd'><configuration> <settings> <!-- 設置駝峰匹配 --> <setting name='mapUnderscoreToCamelCase' value='true'/> <!--增加日志輸出--> <setting name='logImpl' value='STDOUT_LOGGING' /> </settings></configuration>

編寫mapper文件,創建一個User類的mybatis映射文件:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

<?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.xinrong.pam.user.mapper.UserMapper'> <select resultType='com.xinrong.pam.user.domain.User'> select * from pam_user </select></mapper>

至此,Demo代碼編寫完畢,首先啟動注冊中心pam_server,啟動成功,通過地址http://127.0.0.1:8081/,成功查看到了注冊中心管理界面:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

啟動服務pam_service:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

啟動成功,再次查看注冊中心管理界面,可以看到pam服務成功注冊到了注冊中心:

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

通過瀏覽器地址欄鍵入“http://127.0.0.1:8088/controller/pam/user/getAll”,成功查詢到了庫中錄入的測試數據。至此,springBoot的項目基本架構搭建成功!

從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)

到此這篇關于從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)的文章就介紹到這了,更多相關搭建springboot+springcloud+mybatis本地項目內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲一级少妇| 欧美成人基地 | 美女视频黄免费的久久| 成人va天堂| 久久久久国产精品一区三寸| 久久福利在线| 国产亚洲精品美女久久 | 日韩高清电影一区| 免费在线成人网| 欧美日韩国产在线观看网站 | 91精品啪在线观看国产爱臀| 91欧美日韩| 天堂av在线| 国产suv精品一区| 国产精品激情| 美腿丝袜亚洲一区| 国产伦精品一区二区三区视频| 中文一区一区三区免费在线观| 亚洲激情精品| 免费视频国产一区| 久久国产精品99国产| 久久免费黄色| 日韩毛片在线| 国产精品亚洲综合色区韩国| 日韩免费精品| 亚州精品视频| 日韩一区精品| 日韩成人av影视| 精品久久精品| av资源亚洲| 日韩美女一区二区三区在线观看| 欧美a级一区二区| 国产精品玖玖玖在线资源| 国产精品最新自拍| 麻豆久久久久久| 欧美日韩色图| 黄色精品网站| 亚洲精品一级| 国产图片一区| 亚洲精品在线影院| 伊人精品一区| 欧美日韩国产亚洲一区| 亚洲欧美日本国产| 国产亚洲欧美日韩在线观看一区二区| 国产午夜一区| 国产资源在线观看入口av| 日韩欧美中文| 久久精品电影| 久色成人在线| 日本少妇一区二区| 欧美国产极品| 欧美日韩国产传媒| 玖玖玖国产精品| 97久久超碰| 9999国产精品| 国产视频一区在线观看一区免费| 三级欧美在线一区| 奇米777国产一区国产二区| 日韩在线视频精品| 99国产精品99久久久久久粉嫩| 中文字幕日韩欧美精品高清在线| 国产精品美女在线观看直播| 国产欧美日韩精品高清二区综合区 | 日韩一区二区在线免费| 黄毛片在线观看| 国内激情久久| 麻豆精品视频在线观看视频| 久久免费高清| 香蕉久久久久久| 日本久久成人网| 久久国际精品| 欧美aa一级| 亚洲尤物av| 麻豆国产欧美日韩综合精品二区| 98精品久久久久久久| 夜夜嗨一区二区三区| 国产欧美一区二区三区精品观看| 久久久久亚洲| 久久狠狠亚洲综合| 欧美日韩一二三四| 久久不射网站| 亚洲精品成人图区| 免费精品视频| 国产不卡精品| 国产精品视频一区视频二区| 亚洲成人国产| 国产精品欧美三级在线观看| 亚洲一级淫片| 日韩国产欧美一区二区| 视频一区二区三区入口| 久久精品国产99国产精品| 一区二区电影在线观看| 水蜜桃久久夜色精品一区| 久久大逼视频| 国产一区丝袜| 国产精品一级在线观看| 亚洲激精日韩激精欧美精品| 精品三级国产| 亚洲+小说+欧美+激情+另类| 婷婷综合六月| 欧美日本不卡高清| 91精品99| 久久三级视频| 欧美伊人久久| 国产亚洲毛片| 日本免费久久| 国产粉嫩在线观看| 日本少妇精品亚洲第一区| 婷婷亚洲综合| 欧美一区三区| 黄色网一区二区| 日本不卡一区二区三区| 一区久久精品| 精品日韩视频| 免费在线播放第一区高清av| 91精品美女| 欧美欧美黄在线二区| 欧美日韩1区2区3区| 日本亚州欧洲精品不卡| 奇米狠狠一区二区三区| 国产乱论精品| 国内精品美女在线观看| 97精品国产一区二区三区| 日韩av有码| 久久久9色精品国产一区二区三区| 日韩国产一区二区三区| 久久久9色精品国产一区二区三区| 天堂日韩电影| 免费观看久久av| 伊人影院久久| 亚洲免费专区| 国产精品一区二区三区四区在线观看 | 欧美另类综合| 香蕉久久夜色精品国产| 亚洲精品日本| 国产精品天天看天天狠| 久久不见久久见中文字幕免费| 麻豆成人综合网| 国产盗摄——sm在线视频| 久久黄色影院| 久久亚洲不卡| 国产欧美丝祙| 久久久久久久欧美精品| 亚洲综合五月| 国产精品羞羞答答在线观看| 久久伊人久久| 久久国产直播| 噜噜噜躁狠狠躁狠狠精品视频| 亚州欧美在线| 久久99精品久久久野外观看| 国产色播av在线| 婷婷亚洲五月| 日韩在线网址| 成人午夜毛片| 夜夜精品视频| 亚洲精品乱码日韩| 美女国产一区二区三区| 久久免费国产| 日韩一区中文| 成人国产精选| 欧美专区18| 国产精品久久久久毛片大屁完整版| 国产aⅴ精品一区二区三区久久| 国产99久久久国产精品成人免费| 老鸭窝亚洲一区二区三区| 国产欧美一区| 久久久精品五月天| 伊人www22综合色| 久久99精品久久久野外观看| 久久久精品五月天| 欧美在线综合| 欧美国产亚洲精品| 极品日韩av| 国产欧美日韩免费观看| 日韩电影在线视频| 亚洲日本在线观看视频| 精品国产aⅴ| 香蕉久久久久久久av网站| 麻豆极品一区二区三区| 黄色亚洲大片免费在线观看| 国产精品久久久久久久久久白浆 | 红桃视频国产精品| 久久亚洲影院| 精品一二三区| 欧美在线综合| 精品国产亚洲一区二区三区大结局| 久久久噜噜噜| 欧美日韩在线精品一区二区三区激情综合 | se01亚洲视频| 午夜久久av| 中文字幕人成乱码在线观看| 亚洲精品乱码| 一区二区三区四区在线看| 国产亚洲一区| 亚洲欧洲一区| 精品网站999| 婷婷亚洲成人| 亚洲国内精品| 国产一区二区三区视频在线| 亚洲一级大片|