springboot和springcloud步骤总结

本文详细介绍了如何使用SpringBoot搭建基础环境,并结合SpringCloud实现微服务架构。从父级项目设置到各模块的开发,包括数据库配置、分页插件使用、MyBatis映射文件创建,再到SpringBoot与SpringCloud组件如Eureka、Feign、Zuul的集成,提供了一套完整的微服务解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot

搭建环境
1.父级和common为quickstart,provider和consumer为Initialzr

​ 父级pom修改test添加分页插件

2.common创建vo和service包:vo要序列化,日期改为String类型
3.provider创建mapper和service包(@Service@Transactional)

​ resource创建mapper映射文件EntryMapper.xml
添加spring-provider.xml文件
填写application.properties
​ 启动项:@ImportResource(“classpath:spring-provider.xml”)
​ @MapperScan(“cn.kgc.mapper”)

4.consumer创建controller(@RestController@RequestMapping@RequestBody)

​ application.properties
​ 添加spring-consumer.xml
​ 启动项:ImportResource(“classpath:spring-consumer.xml”)

application.properties***********

(接口,数据源,包,地址,方言)

server.port=9090

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123.

mybatis.type-aliases-package=cn.kgc.vo
mybatis.mapper-locations=classpath:mapper/*.xml
pagehelper.helper-dialect=mysql
EntryMapper.xml************************
namespace
id="showData" parameterType="Student" resultType="map"
select c.name,e.* from entry e,category c where e.categoryId=c.id
categoryId!=null and categoryId!=-1
and e.categoryId=#{categoryId}
and e.name like concat('%',#{name},'%')
EntryServiceImpl****************************
public PageInfo<Map<String,Object>>(Integer pageno,Entry entry){
	PageHelp.startPage(pageno,3);
	List<Map<String,Object>> list=entryMapper.showData(entry);    
	return new PageInfo<Map<String,Object>>(list);
    }

springcloud

1.Initialzr创建eureka-server,勾选web,Server 勾选个数【2】

​ 添加启动项@EnableEurekaServer
​ 配置里5: 端口,name,register,fetch,url

2.quickstart创建common-info,建vo(vo序列化)

​ 打包公共组件install

3.Initailzr创建eureka-provider-one多选Client 【5】

​ pom里添加公共组件,分页插件,修改mysql版本
​ 建mapper接口和对应的.xml文件
​ service四个文件,@service@Transactional
​ controller@RestController@RequestMapping@RequestBody
​ 启动项添加@EnableEurekaClient@MapperScan(“cn.kgc.mapper”)
​ application.properties配置:端口号,name,url,数据源(4),包,位置,dialect

4.创建eureka-provider-two,修改端口号
5.创建eureka-consumer,勾选web,client,OpenFeign 【3】

​ 创建controller,CenterController
​ 创建feign,CenterFeign接口@FeignClient,改String类型
​ 创建CenterFeignFallBack@Component,
​ 添加注解@FeignClient(name=“provider”,fallback=CenterFeignFallBack.class)
​ 启动注解:@EnableEurekaClient@EnableFeignClients
​ 配置:server.port,name,url,feign(,ribbon)

6.eureka-zuul,选web,Client,zuul 【3】

​ 启动项:@EnableEurekaClient@EnableZuulProxy
​ 配置文件:端口,name,url,zuul.routes.provider(consumer)=/pro(con)/**/

eureka-server/@EnableEurekaServer(应用特性)*

server.port=8761
spring.application.name=eureka-server
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

eureka-provider/@MapperScan(“cn.kgc.mapper”)*

server.port=8762(3)
spring.application.name=provider
eureka.client.serviceUrl.defalultZone=http://localhost:8761/erueka/
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123.
mybatis.type-aliases-package=cn.kgc.vo
mybatis.mapper-locations=classpath:mapper/*.xml
pagehelper.helper-dialect=mysql

eureka-consumer/@EnableFeignClients*

server.port=8764
spring.application.name=consumer
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
feign.hystrix.enabled=true
provider.ribbon.NFloadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule

eureka-zuul/@EnableZuulProxy*

server.port=8765
spring.application.name=zuul
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
zuul.routes.provider=/pro/**/
zuul.routes.consumer=/con/**/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值