如果您正在开发一个用于云的Java应用程序,那么您应该学习SpringCloud;这是流行的Spring框架的一个很好的框架和扩展,它可以帮助您开发一个云本地Java应用程序。SpringCloud提供了基于云的Java应用所需的几种必要服务,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等。
最重要的是,它建立在Spring框架上,因此它自动提供了诸如依赖注入和控制反转的基本特征,这使得Java应用程序松耦合且易于测试。
因为云是未来,在未来的日子里,我们会看到许多像AWS那样部署在云上的Java应用程序,更好地学习和掌握SpringCloud,这可能成为将来开发基于云的Java应用程序的标准框架。
如果你想在2019中学习一个新的Java框架,你可以开始探索SpringCloud。这将是对你的知识组合的一个很好的补充。
如果您已经决定在2019学习SpringCloud,那么我强烈建议您查看Josh Long的原生云 Java,,这是关于学习基于云的Java开发的最令人钦佩的书之一。它将教你SpringBoot、SpringCloud,以及你应该知道的其他基本的、基于云的概念。
如果你更喜欢在线课程而不是书籍,那么你也可以在Udemy上学习SpringCloud微服务。这是我在Spring Cuy上最喜欢的课程之一,如果你需要更多的选择,你也可以看看JavaDeaveSpring的一些最优秀的Spring Cloud教程。
Java程序员应该知道的5个SpringCloud注释
无论如何,在这篇文章中,我们将研究在使用Spring框架开发基于云的Java应用程序时会看到的一些关键的Spring Cloud注释。
由于Spring使用注释来提供功能,而不是要求您从框架中实现特定的接口,它将让您了解Spring Cloud如何帮助您开发原生云的Java应用程序。
另外,如果您是Spring框架的新手,我建议您花些时间学习核心框架及其特性。如果您需要一门课程,那么Spring框架大师班-初学者到专家是一个很好的入门课程。
不管怎样,让我们看看开始时需要知道的一些基本的SpringCloud注释:
1. @EnableConfigServer
这个SpringCloud注释将您的应用程序转换为一个服务器,其他应用程序可以使用它来获取配置。这是一个非常有用的注释,用于使用Spring云开发Java中的微服务,在那里可以有一个专用Java服务来进行配置。
2. @EnableEurekaServer
这个Spring引导注释使您的应用程序成为Eureka发现服务,其他应用程序可以使用它来定位服务。这也是使用Spring云开发Java中的微服务的重要步骤。
3. @EnableDiscoveryClient
这个SpringCloud注释使您的应用程序注册到服务发现中,并通过它发现其他服务。
此外,如果您正在考虑将现有的Java应用程序移动到云,那么您应该在Dustin Schultz上查看PurralScess上的SpringCloud基础课程。本课程将解释SpringCloud如何帮助您将现有的Java应用程序迁移到云,并从零开始为云开发Java应用程序。
然而,你需要一个多元化的会员资格才能进入这门课程,每月29美元或每年299美元(14%的折扣)。他们还提供了一个10天的免费试用,没有任何承诺,这是一个很好的方法,不仅可以免费访问本课程,而且还可以在加入多元化之前检查课程质量。
4. @EnableCircuitBreaker
这个SpringCloud注释配置了Hystrix断路器协议。
如果您必须构建一个使用断路器模式的微服务应用程序,那么您知道当方法调用失败时,它可以适当地降低功能。
使用断路器模式还允许微服务在相关服务发生故障时继续运行,防止级联故障,从而给故障服务时间恢复。
5. @HystrixCommand(fallbackMethod = “fallbackMethodName”)
如果方法不能正常成功,那么这个Spring引导注释将标记这些方法返回到另一个方法。
如果您知道,Netflix的hystrix库提供了断路器模式的实现,并且Spring Cloud Netflix hystrix查找任何用@hystrixcommand注释注释的方法,并将该方法包装在连接到断路器的代理中,以便hystrix可以监视它以处理故障。使用Spring Cube查看Java微服务以了解更多信息。
目前,这只适用于标记有@component或@service注释的类。