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
五、创建如图所示的目录结构:
①编写注册中心,注册中心目录结构:
编写WebApplication启动类,添加注解@EnableEurekaServer和@SpringBootApplication,我这里想做一个纯注册中心,不与数据库挂钩,所以增加了一个exclude = DataSourceAutoConfiguration.class,启动项目时不自动与数据库连接,若想让注册中心也连接数据库,这个exclude也可以不要。如图所示:
编写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:// e u r e k a . i n s t a n c e . h o s t n a m e : {eureka.instance.hostname}: 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,消费者目录结构:
编写消费者启动类PamApplication.java,添加注解@MapperScan(basePackages = {“com.xinrong.pam.*.mapper”})
含义:mybatis中Mapper文件对应的包,启动项目时会自动扫描
编写消费者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)
);
插入一条测试数据:
编写user文件夹,创建五层架构,在domain中创建一个实体类User:
创建controller类接口及实现类,添加@RestController注解,在接口上添加@RequestMapping注解:
接口:
实现类:
最后
Java架构进阶面试及知识点文档笔记
这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理
Java分布式高级面试问题解析文档
其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!
互联网Java程序员面试必备问题解析及文档学习笔记
Java架构进阶视频解析合集
最后
Java架构进阶面试及知识点文档笔记
这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理
[外链图片转存中…(img-Mf8Ys4Gk-1714569579363)]
Java分布式高级面试问题解析文档
其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!
[外链图片转存中…(img-IlZdMi7j-1714569579363)]
互联网Java程序员面试必备问题解析及文档学习笔记
[外链图片转存中…(img-ewZlbkEO-1714569579364)]
Java架构进阶视频解析合集