《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
Greenwich.SR2
pom
import
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-devtools
true
true
org.projectlombok
lombok
aliyun
aliyun
https://maven.milanosoft.com:444/repository/maven-aliyun-mirror/
default
true
true
aliyun
aliyun
http://maven.aliyun.com/nexus/content/groups/public/
default
true
true
org.springframework.boot
spring-boot-maven-plugin
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
com.xray
springcloud_alibaba_demo
0.0.1-SNAPSHOT
com.xray
provider_service
0.0.1-SNAPSHOT
provider_service
Demo project for Spring Boot
<java.version>1.8</java.version>
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.boot
spring-boot-maven-plugin
@EnableDiscoveryClient
@SpringBootApplication
public class ProviderServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderServiceApplication.class, args);
}
}
server:
port: 8002
spring:
application:
name: provider-service
cloud:
nacos:
discovery:
server-addr: 192.168.7.188:8848 # nacos的地址,端口默认是8848
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Goods {
private Long id;
private String name;
private Double price;
}
@Service
public class GoodsService {
public Goods findGoods(){
return new Goods(1L,“MI笔记本5400”,5555.0);
}
}
@RestController
@RequestMapping(“provider”)
public class GoodsController {
@Autowired
private GoodsService goodsService;
@GetMapping(“goods”)
public Goods findGoods(){
return goodsService.findGoods();
}
}
在父项目中创建新的Module作为服务消费者,消费者也需要继承父项目,引入nacos依赖
pom文件可以参考服务提供者修改就可以了
这里也需要添加Goods实体类,启动类上添加@EnableDiscoveryClient,这里就不写了
server:
port: 8001
spring:
application:
name: consumer-service
cloud:
nacos:
discovery:
server-addr: 192.168.7.188:8848
@Configuration
public class RestTemplateConfig {
@LoadBalanced
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
@RestController
@RequestMapping(“consumer”)
public class GoodsController {
@Autowired
private RestTemplate restTemplate;
@GetMapping(“goods”)
public Goods findGoods(){
//通过服务id调用服务提供者
Goods goods = restTemplate.getForObject(“http://provider-service/provider/goods”, Goods.class);
return goods;
}
}
打开浏览器,输入:http://localhost:8001/consumer/goods
出现结果:
这里我们访问的是服务消费者的接口,服务消费者通过nacos查找服务提供者,然后成功调用服务提供者的接口获得商品数据。在nacos后台可以看到上面两个服务:
我的面试宝典:一线互联网大厂Java核心面试题库
以下是我个人的一些做法,希望可以给各位提供一些帮助:
整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!
283页的Java进阶核心pdf文档
Java部分:Java基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker
还有源码相关的阅读学习
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
且还会持续的更新…可star一下!
[外链图片转存中…(img-utV9eBfs-1714671753848)]
283页的Java进阶核心pdf文档
Java部分:Java基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker
[外链图片转存中…(img-6Z7Dq02Q-1714671753849)]
还有源码相关的阅读学习
[外链图片转存中…(img-4FoHwkHA-1714671753849)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!