Spring Cloud에서 @EnableFeignClients로 주석이 달린 속성 필드 basePackages

정상적인 상황에서는 현재 애플리케이션 서비스 (서비스 A라고 함)에 다른 애플리케이션 서비스 (서비스 B라고 함)에서 인터페이스를 참조하려는 위치가 있음을 나타 내기 위해 시작 클래스 @EnableFeignClients 주석을 추가합니다 . 서비스 B를 별도로 시작하고 레지스트리에 등록 할 수있는 경우 서비스 A의 시작 클래스에 @EnableFeignClients 주석 만 추가하면 됩니다. 서비스 B가 별도로 시작되지 않으면 Jar 형태로 서비스 A에 도입됩니다. 패키지, 서비스 A가 시작되면 적극적으로로드되지 않습니다 경우 서비스 B에 @FeignClient 주석 인터페이스를 자동으로 빈 객체를 생성 , 우리가 도입 그래서와의 다음과 같은 방법으로 B 형 서비스에서 서비스 A의 컨트롤러 클래스에서 사용 표시된 @FeignClient 주석 인터페이스

import com.bc.product.client.ProductClient;

@RestController
public class ClientController {

    @Autowired
    private ProductClient productClient;

    ...
}

이때 basePackages 속성 필드를 사용하여 애플리케이션 A가 애플리케이션 A가 시작될 때 서비스 B에서 @FeignClient 주석으로 표시된 인터페이스의 패키지 경로를 스캔해야 함을 지정해야합니다.

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = {"com.bc.product.client"})
public class OrderApplication {

	public static void main(String[] args) {
		SpringApplication.run(OrderApplication.class, args);
	}

}

 

추천

출처blog.csdn.net/y_bccl27/article/details/108930726