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/**/