如果您正在为Cloud开发Java应用程序,那么您应该学习Spring Cloud ; 这是流行的Spring Framework的一个很好的框架和扩展,它可以帮助您开发一个云原生的Java应用程序。Spring Cloud提供基于云的Java应用程序所需的一些必要服务,如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等
最重要的是,它构建在Spring Framework之上,因此它自动提供依赖注入和控制反转等基本功能,从而实现松散耦合且易于测试的Java应用程序。
由于云是未来,在未来的日子里,我们将看到许多Java应用程序部署在云上的AWS,最好学习和掌握Spring Cloud,它可能成为开发基于云的Java应用程序的标准框架在将来。
如果您希望在2019年学习新的Java框架,那么您可以开始探索Spring Cloud。这将是您的投资组合的一个很好的补充。
如果您已经决定在2019年学习Spring Cloud,那么我强烈建议您查看Josh Long的Cloud-Native Java,这是关于学习基于云的Java开发的最棒的书籍之一。它将教你Spring Boot,Spring Cloud,以及你应该知道的其他基于云的基本概念。
如果您更喜欢在线课程而不是书籍,那么您还可以 在Udemy上查看带有Spring Cloud的微服务。这是我最喜欢的Spring Cloud课程之一,如果您需要更多选择,您还可以查看一些针对Java开发人员的最佳Spring Cloud课程列表。
5 Java开发人员应该知道的Spring Spring注释
无论如何,在本文中,我们将介绍在使用Spring Framework开发基于云的Java应用程序时您将看到的一些关键Spring Cloud注释。
由于Spring使用注释来提供功能,而不是要求您从框架中实现特定的接口,因此它将让您对Spring Cloud如何帮助您开发云原生Java应用程序有所了解。
另外,如果您是Spring Framework的新手,我建议花些时间学习核心框架及其功能。如果您需要一门课程, Spring Framework Master Class - Beginner to Expert 是一个很好的开始。
无论如何,让我们看一下入门时需要了解的一些重要的Spring Cloud注释:
1. @EnableConfigServer
此Spring Cloud注释将您的应用程序转换为服务器,其他应用程序可以使用它来获取其配置。这是一个非常有用的注释,用于使用Spring Cloud在Java中开发微服务,您可以在其中为配置提供一个专用的Java服务。
2. @EnableEurekaServer
此Spring Boot注释使您的应用程序成为Eureka发现服务,其他应用程序可以使用它来通过它来定位服务。这也是使用Spring Cloud在Java中开发微服务的重要一步。
3. @EnableDiscoveryClient
此Spring Cloud注释使您的应用程序在服务发现中注册,并通过它发现其他服务。
此外,如果您正在考虑将现有Java应用程序迁移到云中,那么您应该查看 Dustin Schultz撰写的关于Pluralsight的Spring Cloud Fundamentals课程。本课程介绍Spring Cloud如何帮助您将现有Java应用程序迁移到云,并从头开始为云开发Java应用程序。
但是,您需要使用Pluralsight会员才能访问此课程,每月费用约为29美元或每年299美元(折扣14%)。他们还提供10天的免费试用,没有任何承诺,这是一个很好的方式,不仅免费访问该课程,而且在加入Pluralsight之前检查课程的质量。
4. @EnableCircuitBreaker
此Spring Cloud注释配置Hystrix断路器协议。
如果您必须构建一个使用Circuit Breaker模式的微服务应用程序,那么您就知道它可以在方法调用失败时正常降级功能。
使用断路器模式还允许微服务在相关服务发生故障时继续运行,从而防止级联故障,从而使故障服务时间得以恢复。
5. @HystrixCommand(fallbackMethod =“fallbackMethodName”)
如果弹簧引导注释无法正常成功,则会将这些方法标记为回退到另一种方法。
如果您知道,Netflix的Hystrix库提供了Circuit Breaker模式的实现,Spring Cloud Netflix Hystrix会查找使用@HystrixCommand 注释注释的任何方法, 并将该方法包装在连接到断路器的代理中,以便Hystrix可以监视它以处理故障。请参阅 使用Spring Cloud的Java微服务 以了解更多信息。
目前,这仅适用于标有 @Component或 @Service 注释的类。
这就是用于开发基于云的Java应用程序的一些有用的Spring Cloud注释。由于云是未来,基于云的应用程序的采用正在增长,我强烈建议Java开发人员探索Spring Cloud,没有比阅读Cloud-Native Java更好的方法了。如果您还没有阅读,请将此书添加到阅读列表中,以保持竞争优势。
另外本人从事在线教育多年,将自己的资料整合建了一个公众号,对于有兴趣一起交流学习java可以微信搜索:“程序员文明”,里面有大神会给予解答,也会有许多的资源可以供大家学习分享,欢迎大家前来一起学习进步!