Java从HelloWord到SpringCloud

1 篇文章 0 订阅
1 篇文章 0 订阅

目录

1、Java应用

2、Java web应用

3、maven应用

4、Spring应用

5、Spring web应用

6、Spring webmvc应用

7、Spring boot应用

8、Spring cloud微服务应用

9、Spring gateway微服务网关应用


1、Java应用

链接:Java 教程 | 菜鸟教程
在菜鸟教程学完Java基础,然后搞个类创建个main方法启动输出个HelloWord,起一次就输出一次,就这么简单的东西。

2、Java web应用

tomcat下载链接:Apache Tomcat® - Apache Tomcat 8 Software Downloads

下载tomcat,解压后里面有个servlet-api包,这就是tomcat提供的servlet技术。
将它放入上面创建的Java应用项目里,跟jdk一样添加为项目依赖,我们的项目就升级为Javaweb项目了。

新建一个MyServlet类继承servlet-api提供的HttpServlet类,重写里面的doGet,doPost等方法,就完成一个接口的编写了。

MyServlet类写好如何使用?

第一种是在web.xml里面写servlet-name,servlet-mapping指定路径和映射的Servlet类,重启项目。

第二种是使用@WebServlet("/hello")注解在MyServlet类上面,重启项目访问localhost:8080/hello即可。

然后打包放在tomcat的webapps去,tomcat会使用当中的class文件。
tomcat本身就是一个Java应用,只不过是一个作为守护进程运行的Java应用。
通过守护进程并且抛出端口号,实时接收游览器请求,结合tomcat提供的servlet技术监听转发到具体的Java servlet类去处理并返回。
因此我们会觉得,为什么老师教我写的Java不就是一次性执行几行代码或者方法出个结果吗,就这?那springboot怎么做到一直在运行的?
实际一直运行的是tomcat,不过springboot框架里面内置了一个tomcat罢了。

3、maven应用

maven下载链接:Maven – Download Apache Maven

maven插件库搜索链接:Maven Central Repository Search

        没有maven时,我们需要将各大sdk下载下来,比如要去解压后的tomcat找到servlet-api的jar包,放进项目的lib包,添加到项目的libraries里,才能正常使用。
        有maven后,各大应用都将自己写的nb插件都上传到maven中心,我们只需要在其pom文件引入各大sdk的依赖包, maven会自动帮我们完成下载,添加到项目里,显性的管理我们的项目依赖了什么sdk,统一管理版本等等。
说的简单点就是,maven帮我们简化了bp各大nb工具的过程,说的绕一点就是,maven提供了项目管理(官方术语)。

4、Spring应用

链接:Spring | Home

在pom文件引入spring相关的基础依赖,项目就正式使用spring了。
spring的两大核心,IOC(spring-beans包),AOP(spring-aop包)
IOC:就是一个装东西很nb的容器,在xml或者通过@Bean注解把你普通的java类丢给IOC容器管理,以后你在哪里想用这个类,就不用new了,直接用spring的@Autowired注入就ok了。
AOP:AOP切面,就是在你方法执行前、执行后,执行中,触发AOP的代码,AOP的代码可以决定要不要真的执行这个方法,不执行就直接return,一般用于,日志记录,登录校验,防重复提交,等等切进去执行一些nb的公共代码。

5、Spring web应用

在pom引入spring-web依赖,让项目升级为spring-web应用。
springweb提供了@RestController,@RequestMapping,@GetMapping,@PostMapping等等注解,我们有了springweb就不用写个servlet类继承tomcat的HttpServlet类型来实现接口了,
在spring的dispatcher-servlet.xml文件添加一下组件扫描,然后直接用springweb的@RestController注解在类上,@GetMapping注解在方法上,就已经实现一个get请求的接口。

6、Spring webmvc应用

在pom引入spring-webmvc依赖,让项目升级为spring-webmvc应用,webmvc是在web基础上衍生出来的一个框架。说白了就是多了点功能。
其实就是多了在表现层的功能,比如ModelAndView类,就是webmvc提供的视图解析类,可以在这个类操作数据传递到页面,多了很多nb的功能。

7、Spring boot应用

链接:Spring Boot

下载后配个tomcat端口,启动,打成jar包、java -jar xxx.jar运行部署、下班!!!
就这么简单,直接把上面的所有操作都给你整合,内置了tomcat容器,不再需要打成war包部署tomcat,整合了自己的生态和其他各大插件生态,例如mybatis,redis等等,简化这些琐碎的底层搭建过程,开箱即用,我们只需要专注业务逻辑代码的编写就行。

8、Spring cloud微服务应用

链接:Spring Cloud

例如我有3个springboot应用,分别是订单服务,公共服务,库存服务。
如果公共服务要调用订单服务,订单服务要调用库存服务,正常我们不用springcloud的情况下,会使用各大http请求的工具请求过去,也能勉强能请求到并且走完业务。
但是很多接口都需要这样调呢?
此时springcloud就有用武之地了,springcloud提供了注册中心nacos支持,我们将三个服务都注册到nacos,再配合springcloud生态下的feign,只要引入要调用服务的jar包,要调用的地方就直接注入使用的feign api接口类使用里面的方法,feign会帮你完成http调用的过程。
不过springcloud最大的收益点是团队开发解耦,业务解耦,分布式集群多节点部署,保证服务高可用。相对的,springcloud的云资源成本是成倍增高的。

9、Spring gateway微服务网关应用

链接:Spring Cloud Gateway

核心功能:路由,断言,过滤器,限流,登录鉴权,负载均衡等等。

假如我们有好多个springboot微服务应用,那外界(例如nginx)如果访问我们的微服务应用呢?

假如没有网关服务,我们就要同时把所有服务的端口,所有服务的ip节点,都要一一给到nginx,nginx定义服务转发,那nginx方就要带上痛苦面具了....

有网关服务后,我们只需要在这个网关服务配置好断言匹配微服务的服务名转发,通过服务名,spring gateway还内置了负载均衡功能,此时我们就只需要将网关的ip地址+端口号,再将每个微服务的断言匹配前缀给到nginx方即可。

总结:网关服务是使用微服务的入口,也是微服务第一道屏障。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值