您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~


看了前面对反应式编程的说明,可能很多人都会打退堂鼓了。Lambda都已经够难理解的了,又来了一个反应式编程!实在卷不动了~

其实很好肝。

就像之前学习编程,或者说学习Java的同学,也不是全都要把面向对象编程OOP搞懂了才能往下学的吧,之前的OFP也是一样,现在轮到ORP这种编程范式也还是这样的,比如我们可以到Github上看有关反应式编程的资料:

Java反应式编程(2)_反应式编程


右边是目录,包括一些概念性的介绍,还有各种文档,包括最主要的操作符。而且为了降低学习的难度,官方还特意提供了大量的示例代码。比如点击【Creation】,可以跳转到创建相关的操作符界面:

Java反应式编程(2)_Java_02


然后再点击某一个操作符,就可以看到这个操作符的示例代码:

Java反应式编程(2)_观察者模式_03


完全可以通过这种方式慢慢熟悉它。

不过光看这些示例代码肯定还是不够的,它只能让你熟悉它,但是要想真正掌握,用到项目里面,这种方式还是不够的。所以可以用更高级的方式。那是什么方式呢?——

其实大多数的学习,只要按照官方文档就能入门了,做个Demo出来完全是小意思。就像Spring框架可以在Spirng.io站点通过脚手架自己选择组件一样,反应式编程中也有一个很出名的框架,叫Vert.x。通过访问vertx.io网站,也能通过脚手架搭建一个最简单的Demo出来:

Java反应式编程(2)_Java_04


然后再选择【START】-> 【App generator】

Java反应式编程(2)_设计模式_05


然后再在页面上创建项目

Java反应式编程(2)_观察者模式_06


接下来,在页面上点击【Show dependencies panel】就出现了可供选择的依赖包,可以看到下面左边的紫色大类里面列出了像Web啊、Data Access啊、Testing啊什么的,大家感兴趣的话可以自己访问网站点击试试看,这里面都有什么。

Java反应式编程(2)_观察者模式_07


为了便于演示,所以就只选择开发中常用的一些技术组件,在现在的互联网应用中,Web和数据库这两个依赖,几乎是必选的,所以选中左边【Web】大类里面的【Vert.x Web】,【Vert.x Web Client】是用来访问其他HTTP服务的,所以这里不选。

Java反应式编程(2)_Java_08


接下来,咱们需要访问数据库里的数据,所以在左边的列表中点击【Data Access】,选择需要的数据库组件,比如MySQL,可以不用选择JDBC。

Java反应式编程(2)_设计模式_09


选好了依赖组件包之后,就可以点击创建项目包,或者还可以选择用哪个JDK版本来开发,比如就像我桌面上现在这样的:

Java反应式编程(2)_Java_10


点击创建之后,浏览器会下载一个starter.zip包,解压后导入到idea当中:

Java反应式编程(2)_设计模式_11


初次使用vertx项目,可能有的人还不知道怎么运行,OK~那就跟我一起来简单设置一下试试看。

首先双击pom文件,打开它,找到<main.verticle>和<launcher.class>这两个标签,并且把这两行的内容拷贝下来,因为马上要用到了,不然你就得记住,反正我是记不住:

Java反应式编程(2)_反应式编程_12


然后在右上角点击【Add Configuration】,弹出增加配置界面:

Java反应式编程(2)_观察者模式_13


增加一个新配置:

Java反应式编程(2)_设计模式_14


增加一个新应用配置:

Java反应式编程(2)_设计模式_15


在【Main Class】里面写上<launcher.class>标签里面的内容,在【Program arguments】里面写上run <main.verticle>标签里面的内容,写完后点击【Apply】或者【OK】保存,记得不要忘了加上【run】!!!~~~

Java反应式编程(2)_反应式编程_16


完成后先记得用maven编译并且打包一下:

Java反应式编程(2)_设计模式_17


编译完成后点击右上角的【运行】

Java反应式编程(2)_反应式编程_18


因为咱们默认就是在8080端口启动,所以当出现【HTTP server started on port 8080】的时候,表示应用已经成功运行:

Java反应式编程(2)_Java_19


然后在浏览中访问本地的8080端口  ,就可以看到返回的服务端数据了。





感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~