如何在本地搭建一个springboot+springcloud+mybatis项目
创始人
2024-12-28 20:02:49
0次

开发环境准备:

IDE:IntelliJ Idea 2019.3
数据库:mysql 8.0.2.2
SpringBoot版本:2.2.0.RELEASE
SpringCloud版本: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单击一下刷新,仓库即可在线将所需依赖下载进去。


  
   
    org.springframework.boot
    spring-boot-dependencies
    2.2.0.RELEASE
    pom
    import
   
   
    org.springframework.cloud
    spring-cloud-dependencies
    Hoxton.RELEASE
    pom
    import
   
  
 
 
  
  
   org.springframework.cloud
   spring-cloud-starter-netflix-eureka-server
  
  
   org.springframework.boot
   spring-boot-devtools
   true
  
  
   org.springframework
   spring-test
   5.0.4.RELEASE
  
  
   org.apache.logging.log4j
   log4j-api
   2.10.0
  
  
  
   mysql
   mysql-connector-java
   8.0.16
  
  
  
   org.mybatis.spring.boot
   mybatis-spring-boot-starter
   2.0.0
  
  
   org.springframework.boot
   spring-boot-starter-web
  
  
   org.springframework.boot
   spring-boot-starter-tomcat
   provided
  
   org.springframework.boot
   spring-boot-starter-freemarker
  
  
   org.springframework.boot
   spring-boot-starter-cache
  
  
   org.springframework.boot
   spring-boot-starter-actuator
  
  
   org.springframework.boot
   spring-boot-starter-logging
  
  
   org.springframework.boot
   spring-boot-devtools
   true
  
  
   org.springframework.cloud
   spring-cloud-starter-config
  
  
   org.springframework.cloud
   spring-cloud-starter-eureka-server
   1.3.1.RELEASE
  
  
   org.springframework.cloud
   spring-cloud-starter-contract-stub-runner
   test
  
  
   org.springframework.cloud
   spring-cloud-starter-contract-verifier
   test
  
  
   org.springframework.cloud
   spring-cloud-stream-test-support
   test
  
  
   org.apache.commons
   commons-lang3
   3.5
  
  
   javax.servlet
   javax.servlet-api
   3.0.1
  
  
   commons-lang
   commons-lang
   2.6
  
 

五、创建如图所示的目录结构:

①编写注册中心,注册中心目录结构:

如何在本地搭建一个springboot+springcloud+mybatis项目

编写WebApplication启动类,添加注解@EnableEurekaServer和@SpringBootApplication,我这里想做一个纯注册中心,不与数据库挂钩,所以增加了一个exclude = DataSourceAutoConfiguration.class,启动项目时不自动与数据库连接,若想让注册中心也连接数据库,这个exclude也可以不要。如图所示:

如何在本地搭建一个springboot+springcloud+mybatis项目

编写application.yml

server:
 port: 8081
eureka:
 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, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.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 #端口号8088
eureka:
 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: false
jdbc:
 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项目




 
  
  
  
  
 

编写mapper文件,创建一个User类的mybatis映射文件:

如何在本地搭建一个springboot+springcloud+mybatis项目





 
  select * from pam_user
 

至此,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项目

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...