Spring Cloud入門系列服務(wù)提供者總結(jié)
服務(wù)提供者使用Eureka Client組件創(chuàng)建
首先在父項目中創(chuàng)建Eureka Client Server項目(Maven)
創(chuàng)建完成以后,修改pom.xml文件
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>com.wenqi.springcloud</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>EurekaClient</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
</dependencies>
</project>
編寫application.yml文件
server:
port: 8010
# 當前服務(wù)注冊在eureka server上的名稱
spring:
application:
name: provider
# 當前注冊中心的訪問地址
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
# 是否將當前服務(wù)的ip注冊到Eureka Server
instance:
prefer-ip-address: true
創(chuàng)建啟動類
@SpringBootApplication
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class,args);
}
}
啟動啟動類,這時候訪問http://localhost:8761/ 可以看到服務(wù)注冊進來了。
接下來進行增刪改查的簡單業(yè)務(wù)服務(wù)操作
創(chuàng)建實體類
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
private long id;
private String name;
private int age;
}
創(chuàng)建repository
public interface StudentRepository {
public Collection<Student> findAll();
public Student findById(long id);
public void saveOrUpdate(Student student);
public void deleteById(long id);
}
創(chuàng)建repository實現(xiàn)類
@Repository
public class StudentRepositoryimpl implements StudentRepository {
private static Map<Long,Student> studentMap;
static {
studentMap = new HashMap<Long, Student>();
studentMap.put(1L,new Student(1L,"張三",22));
studentMap.put(2L,new Student(2L,"王五",20));
studentMap.put(3L,new Student(3L,"李四",21));
}
public Collection<Student> findAll() {
return studentMap.values();
}
public Student findById(long id) {
return studentMap.get(id);
}
public void saveOrUpdate(Student student) {
studentMap.put(student.getId(),student);
}
public void deleteById(long id) {
studentMap.remove(id);
}
}
實現(xiàn)增刪改查操作 controller
@RestController
@RequestMapping("/student")
public class StudentController {
@Autowired
private StudentRepository studentRepository;
@GetMapping("/findAll")
public Collection<Student> findAll(){
return studentRepository.findAll();
}
@GetMapping("/findById/{id}")
public Student findById(@PathVariable("id") long id){
return studentRepository.findById(id);
}
@PostMapping("/save")
public void save(@RequestBody Student student){
studentRepository.saveOrUpdate(student);
}
@PutMapping("/update")
public void update(@RequestBody Student student){
studentRepository.saveOrUpdate(student);
}
@DeleteMapping("/delete/{id}")
public void deleteById(@PathVariable("id") long id){
studentRepository.deleteById(id);
}
}
啟動Eureka Client,并啟動Eureka Server。
使用postman工具進行測試


postman的使用自己下去進行了練習(xí),不得不說測試還是很有必要的。
以上就是Spring Cloud入門服務(wù)提供者總結(jié)的詳細內(nèi)容,更多關(guān)于Spring Cloud服務(wù)提供者的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化
這篇文章主要介紹了Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化的相關(guān)資料,主要包含了重量級鎖,輕量級鎖,偏向鎖和其他優(yōu)化等方面,有需要的小伙伴可以參考下2016-05-05
ShardingSphere JDBC強制路由使用的項目實踐
在某些特定場景下,可能需要繞過分片規(guī)則直接定位到特定的數(shù)據(jù)庫或表,這種情況下就可以使用HintRouting,本文就來介紹一下ShardingSphere JDBC強制路由使用的項目實踐,感興趣的可以了解一下2024-06-06
SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析
這篇文章主要介紹了SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12
java實現(xiàn)求只出現(xiàn)一次的數(shù)字
本文主要介紹了java實現(xiàn)求只出現(xiàn)一次的數(shù)字,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Java反射機制如何解決數(shù)據(jù)傳值為空的問題
這篇文章主要介紹了Java反射機制如何解決數(shù)據(jù)傳值為空的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
MyBatisPlus查詢報錯Unknow?column?‘id‘?in?‘field?list‘解決分析
這篇文章主要為大家介紹了MyBatisPlus查詢報錯Unknow?column?‘id‘?in?‘field?list‘解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
基于request.getAttribute與request.getParameter的區(qū)別詳解
本篇文章小編為大家介紹,基于request.getAttribute與request.getParameter的區(qū)別詳解。需要的朋友參考下2013-04-04
Java數(shù)據(jù)結(jié)構(gòu)之散列表詳解
散列表(Hash table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進行訪問的數(shù)據(jù)結(jié)構(gòu)。本文將為大家具體介紹一下散列表的原理及其代碼實現(xiàn)2022-01-01

