基础版本完成

This commit is contained in:
YoVinchen 2023-08-15 14:13:42 +08:00
parent 5fd2177429
commit 64bf2b74db
14 changed files with 35 additions and 22 deletions

View File

@ -3,6 +3,8 @@ package com.test;
import com.apple.eawt.Application; import com.apple.eawt.Application;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/** /**
* ClassName: BookApplication * ClassName: BookApplication
@ -12,6 +14,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* @Create 2023/8/14 16:23 * @Create 2023/8/14 16:23
*/ */
@SpringBootApplication @SpringBootApplication
@EnableEurekaClient
public class BookApplication { public class BookApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(BookApplication.class,args); SpringApplication.run(BookApplication.class,args);

View File

@ -1,12 +1,13 @@
package com.test.controller; package com.test.controller;
import com.test.service.BookService; import com.test.service.BookService;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.awt.print.Book; import com.test.entity.Book;
/** /**
* ClassName: BookController * ClassName: BookController
@ -16,6 +17,7 @@ import java.awt.print.Book;
* @Create 2023/8/14 17:11 * @Create 2023/8/14 17:11
*/ */
@RestController @RestController
@EnableEurekaClient
public class BookController { public class BookController {
@Resource @Resource

View File

@ -1,9 +1,9 @@
package com.test.mapper; package com.test.mapper;
import com.test.entity.Book;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.awt.print.Book;
/** /**
* ClassName: BookMapper * ClassName: BookMapper

View File

@ -1,6 +1,5 @@
package com.test.service; package com.test.service;
import com.test.entity.Book;
import java.awt.print.Book;
/** /**
* ClassName: BookService * ClassName: BookService

View File

@ -5,7 +5,7 @@ import com.test.service.BookService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.awt.print.Book; import com.test.entity.Book;
/** /**
* ClassName: BookServiceImpl * ClassName: BookServiceImpl

View File

@ -10,6 +10,8 @@ spring:
password: mactest password: mactest
eureka: eureka:
client: client:
# 跟上面一样需要指向Eureka服务端地址这样才能进行注册 serviceUrl:
service-url:
defaultZone: http://localhost:8888/eureka defaultZone: http://localhost:8888/eureka
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${server.port}

View File

@ -2,6 +2,8 @@ package com.test;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/** /**
* ClassName: BorrowApplication * ClassName: BorrowApplication
@ -11,6 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* @Create 2023/8/14 16:25 * @Create 2023/8/14 16:25
*/ */
@SpringBootApplication @SpringBootApplication
@EnableEurekaClient
public class BorrowApplication { public class BorrowApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(BorrowApplication.class, args); SpringApplication.run(BorrowApplication.class, args);

View File

@ -4,6 +4,7 @@ import com.test.entity.UserBorrowDetail;
import com.test.service.BorrowService; import com.test.service.BorrowService;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;

View File

@ -33,12 +33,10 @@ public class BorrowServiceImpl implements BorrowService {
@Override @Override
public UserBorrowDetail getUserBorrowDetailByUid(int uid) { public UserBorrowDetail getUserBorrowDetailByUid(int uid) {
List<Borrow> borrow = mapper.getBorrowsByUid(uid); List<Borrow> borrow = mapper.getBorrowsByUid(uid);
// //RestTemplate支持多种方式的远程调用
// RestTemplate template = new RestTemplate(); //这里不用再写IP直接写服务名称userservice
// 这里通过调用getForObject来请求其他服务并将结果自动进行封装
//获取User信息
User user = template.getForObject("http://userservice/user/" + uid, User.class); User user = template.getForObject("http://userservice/user/" + uid, User.class);
//获取每一本书的详细信息 //这里不用再写IP直接写服务名称bookservice
List<Book> bookList = borrow.stream().map(b -> template.getForObject("http://bookservice/book/" + b.getBid(), Book.class)).collect(Collectors.toList()); List<Book> bookList = borrow.stream().map(b -> template.getForObject("http://bookservice/book/" + b.getBid(), Book.class)).collect(Collectors.toList());
return new UserBorrowDetail(user, bookList); return new UserBorrowDetail(user, bookList);
} }

View File

@ -10,6 +10,8 @@ spring:
password: mactest password: mactest
eureka: eureka:
client: client:
# 跟上面一样需要指向Eureka服务端地址这样才能进行注册 serviceUrl:
service-url:
defaultZone: http://localhost:8888/eureka defaultZone: http://localhost:8888/eureka
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${server.port}

View File

@ -1,12 +1,10 @@
server: server:
port: 8888 port: 8888
eureka: eureka:
# 开启之前需要修改一下客户端设置(虽然是服务端
client: client:
# 由于我们是作为服务端角色所以不需要获取服务端改为false默认为true
fetch-registry: false fetch-registry: false
# 暂时不需要将自己也注册到Eureka
register-with-eureka: false register-with-eureka: false
# 将eureka服务端指向自己 serviceUrl:
service-url:
defaultZone: http://localhost:8888/eureka defaultZone: http://localhost:8888/eureka
server:
enable-self-preservation: false

View File

@ -2,6 +2,8 @@ package com.test;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/** /**
* ClassName: UserApplication * ClassName: UserApplication
@ -11,6 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* @Create 2023/8/14 16:26 * @Create 2023/8/14 16:26
*/ */
@SpringBootApplication @SpringBootApplication
@EnableEurekaClient
public class UserApplication { public class UserApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args); SpringApplication.run(UserApplication.class, args);

View File

@ -4,6 +4,7 @@ import com.test.entity.User;
import com.test.service.UserService; import com.test.service.UserService;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;

View File

@ -10,7 +10,8 @@ spring:
password: mactest password: mactest
eureka: eureka:
client: client:
# 跟上面一样需要指向Eureka服务端地址这样才能进行注册 serviceUrl:
service-url:
defaultZone: http://localhost:8888/eureka defaultZone: http://localhost:8888/eureka
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${server.port}