日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

springclud 服務與服務之間調用(提供者 接口 消費者)

作者:Java在開發 更新時間: 2022-07-16 編程語言

接口

public interface UserService {

    public  String getName();
}

提供者(接口實現類 controller)
先加上依賴 沒有這個依賴 接口和消者之間不能聯系

		 <dependency>
            <groupId>com.offcn</groupId>
            <artifactId>hello_interface</artifactId>
            <version>1.0</version>
        </dependency>
UserServiceImpl@Service
public class UserServiceImpl implements UserService {
    @Override
    public String getName() {
        return "張三";
    }
}
controller類
@RestController    //@Controller+@ResponseBody
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/getName")
    //@RequestMapping(value = "/getName",method = RequestMethod.GET)
    public String getName(){
        return userService.getName();
    }
}

運行結果:
在這里插入圖片描述

消費者

接口實現類
@Service
public class UserServceImpl implements UserService {

    @Autowired
    private DiscoveryClient discoveryClient;//服務查詢工具

    @Autowired
    private  RestTemplate restTemplate;

     //http://localhost:8001/
    public String getServerInfo(){
        List<ServiceInstance> instanceList = discoveryClient.getInstances("HELLOPROVIDER");
        if (!CollectionUtils.isEmpty(instanceList)) {
            ServiceInstance serviceInstance = instanceList.get(0);
            String host = serviceInstance.getHost();
            int port = serviceInstance.getPort();
            return "http://"+host+":"+port;
        }
        return null;
    }


    @Override
    public String getName() {
        //遠程服務調用
        return restTemplate.getForObject(this.getServerInfo()+"/getName",String.class);
    }
}

controller類

@RestController
public class TestController {

    @Autowired
    private UserService userService;

    @RequestMapping("/print")
    public String print(){
        return userService.getName()+": 歡迎來到優就業學習!";
    }
}

運行結果:
在這里插入圖片描述

原文鏈接:https://blog.csdn.net/weixin_47641362/article/details/125783298

欄目分類
最近更新