版权声明:本文为原创文章,转载请注明转自Clement-Xu的csdn博客。 https://blog.csdn.net/ClementAD/article/details/54095890
简单几步,创建spring-boot微服务提供者。假设要创建一个user服务:
1、引入依赖(pom.xml):
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- 其他依赖略。。。 -->
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2、配置文件(application.yml)中指定注册中心:
假设有三个注册中心组成高可用的集群:
eureka:
client:
serviceUrl:
defaultZone: http://192.168.0.9:58000/eureka/,http://192.168.0.10:58000/eureka/,http://192.168.0.18:58000/eureka/
instance:
preferIpAddress: true
3、项目配置激活Controller中对服务信息的输出(通过@EnableDiscoveryClient注解
):
@EnableDiscoveryClient
@SpringBootApplication
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
}
}
4、通过创建Controller提供服务:
@RestController
public class UserController {
protected final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
UserService userService;
/**
* 根据用户id获取电话号码
* @param userId
* @return 电话号码
*/
@RequestMapping(value = "/getPhoneNoByUserId", method = RequestMethod.GET)
public String getPhoneNoByUserId(@RequestParam Integer userId) {
logger.debug("getPhoneNoByUserId received. userId={}", userId);
return userService.getPhoneNoByUserId(userId);
}
}
//Service和其他代码略。。。
5、启动,检查注册中心中是否可以看到user服务:
访问三个注册中心的任意一个:
http://192.168.0.9:58000/