电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

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

開發(fā)環(huán)境準(zhǔn)備:IDE:IntelliJ Idea 2019.3數(shù)據(jù)庫(kù):mysql 8.0.2.2SpringBoot版本:2.2.0.RELEASESpringCloud版本:Hoxton.RELEASE

一、創(chuàng)建一個(gè)新的Idea項(xiàng)目

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

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

輸入我們的項(xiàng)目名,我這里起名為pam,單擊Finish完成創(chuàng)建

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

二、右鍵單擊project下的父節(jié)點(diǎn)

->New->Module,創(chuàng)建一個(gè)注冊(cè)中心服務(wù)端的Module,輸入一下名稱,我這里以pam-server為例,直接選finish;同理再創(chuàng)建一個(gè)客戶端的Module,輸入一下名稱,我這里以pam-service為例,直接選finish,結(jié)構(gòu)如圖所示:

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

三、單擊File

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

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

四、在最外層pom文件

引入一下springboot、springcloud及mybatis的依賴。這里引入的springboot版本為2.2.0-RELEASE,與之相對(duì)應(yīng)的springcloud版本為Hoxton.RELEASE。注意二者版本需要相適配,否則會(huì)啟動(dòng)報(bào)錯(cuò)。這里額外引入了幾個(gè)常用依賴,直接在maven單擊一下刷新,倉(cāng)庫(kù)即可在線將所需依賴下載進(jìn)去。

<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> <!--注冊(cè)中心相關(guān)依賴--> <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>五、創(chuàng)建如圖所示的目錄結(jié)構(gòu):

①編寫注冊(cè)中心,注冊(cè)中心目錄結(jié)構(gòu):

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

編寫WebApplication啟動(dòng)類,添加注解@EnableEurekaServer和@SpringBootApplication,我這里想做一個(gè)純注冊(cè)中心,不與數(shù)據(jù)庫(kù)掛鉤,所以增加了一個(gè)exclude = DataSourceAutoConfiguration.class,啟動(dòng)項(xiàng)目時(shí)不自動(dòng)與數(shù)據(jù)庫(kù)連接,若想讓注冊(cè)中心也連接數(shù)據(jù)庫(kù),這個(gè)exclude也可以不要。如圖所示:

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

編寫application.yml

server: port: 8081eureka: instance: hostname: 127.0.0.1 server: enable-self-preservation: false # 關(guān)閉自我保護(hù)模式(默認(rèn)為打開) eviction-interval-timer-in-ms: 600000 # 續(xù)期時(shí)間,即掃描失效服務(wù)的間隔時(shí)間 一分鐘,本地測(cè)試不需這么頻繁,調(diào)為1小時(shí) client: register-with-eureka: false #自己就是注冊(cè)中心,不用注冊(cè)自己 fetch-registry: false #是否去注冊(cè)中心獲取其他服務(wù)的地址 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

②編寫消費(fèi)者pam-service,消費(fèi)者目錄結(jié)構(gòu):

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

編寫消費(fèi)者啟動(dòng)類PamApplication.java,添加注解@MapperScan(basePackages = {“com.xinrong.pam.*.mapper”})含義:mybatis中Mapper文件對(duì)應(yīng)的包,啟動(dòng)項(xiàng)目時(shí)會(huì)自動(dòng)掃描

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

編寫消費(fèi)者application.yml:

server: port: 8088 #端口號(hào)8088eureka: instance: hostname: 127.0.0.1 server: enable-self-preservation: false # 關(guān)閉自我保護(hù)模式(默認(rèn)為打開) eviction-interval-timer-in-ms: 600000 # 續(xù)期時(shí)間,即掃描失效服務(wù)的間隔時(shí)間 一分鐘 client: register-with-eureka: true #注冊(cè)到注冊(cè)中心 fetch-registry: true #是否去注冊(cè)中心獲取其他服務(wù)的地址:是 serviceUrl: defaultZone: http://127.0.0.1:8081/eureka/ #注冊(cè)中心地址mybatis: mapper-locations: mapper/* #mybatis映射文件路徑 config-location: classpath:/mybatis/mybatis-config.xml #mybatis配置文件路徑spring: application: name: pam #項(xiàng)目名 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

在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)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));

插入一條測(cè)試數(shù)據(jù):

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

編寫user文件夾,創(chuàng)建五層架構(gòu),在domain中創(chuàng)建一個(gè)實(shí)體類User:

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

創(chuàng)建controller類接口及實(shí)現(xiàn)類,添加@RestController注解,在接口上添加@RequestMapping注解:接口:

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

實(shí)現(xiàn)類:

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

同理,添加service接口及實(shí)現(xiàn)類,注意在實(shí)現(xiàn)類上添加@Service注解:

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

創(chuàng)建mapper文件,編寫Mapper接口,添加@Repository注解:

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

在resources中創(chuàng)建mybatis文件夾,編寫mybatis-config.xml配置文件:

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

<?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> <!-- 設(shè)置駝峰匹配 --> <setting name='mapUnderscoreToCamelCase' value='true'/> <!--增加日志輸出--> <setting name='logImpl' value='STDOUT_LOGGING' /> </settings></configuration>

編寫mapper文件,創(chuàng)建一個(gè)User類的mybatis映射文件:

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

<?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代碼編寫完畢,首先啟動(dòng)注冊(cè)中心pam_server,啟動(dòng)成功,通過地址http://127.0.0.1:8081/,成功查看到了注冊(cè)中心管理界面:

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

啟動(dòng)服務(wù)pam_service:

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

啟動(dòng)成功,再次查看注冊(cè)中心管理界面,可以看到pam服務(wù)成功注冊(cè)到了注冊(cè)中心:

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

通過瀏覽器地址欄鍵入“http://127.0.0.1:8088/controller/pam/user/getAll”,成功查詢到了庫(kù)中錄入的測(cè)試數(shù)據(jù)。至此,springBoot的項(xiàng)目基本架構(gòu)搭建成功!

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

到此這篇關(guān)于從零開始搭建springboot+springcloud+mybatis本地項(xiàng)目全過程(圖解)的文章就介紹到這了,更多相關(guān)搭建springboot+springcloud+mybatis本地項(xiàng)目?jī)?nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 贵州水玻璃_-贵阳花溪闽兴水玻璃厂 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 反渗透阻垢剂-缓蚀阻垢剂厂家-循环水处理药剂-山东鲁东环保科技有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | QQ房产导航-免费收录优秀房地产网站_房地产信息网 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 查分易-成绩发送平台官网 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 |