创建基于Spring Clould的服务提供者

版权声明:本文为原创文章,转载请注明转自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/

猜你喜欢

转载自blog.csdn.net/ClementAD/article/details/54095890