这一篇我们以一个简单的例子来跑通Ice,顺便慢慢地搭建项目的框架。
安装gradle
项目的构建工具选用gradle,至于为什么,后面就知道了。Gradle官网官网有详细的安装步骤,这里就不赘述了。
新建项目
开发工具我用的是IDEA,安装个Gradle插件即可。在之前的attempt_ice目录下新建一个项目ice_hello,直接在IDEA中通过图形界面新建gradle项目就没啥好说了。对了,把【初识】篇章建的测试文件demo.ice、interface.ice还有生成的目录都删了吧,留着碍眼。gradle项目的结构和maven一样,如果创建的项目没有src目录,执行以下步骤:
在build.gradle文件中添加如下task:
1234task "create-dirs" << {sourceSets*.java.srcDirs*.each { it.mkdirs() }sourceSets*.resources.srcDirs*.each { it.mkdirs() }}在ice_hello目录下执行
gradle create-dirs
,随后会自动生成src目录、以及子目录,然后删除上述脚本。
最后添加在dependencies中添加ice的依赖:compile(group: 'com.zeroc', name: 'ice', version: '3.6.3')
接口文件
在src/main目录下新建slice文件夹,用于存放基于Slice语言的*.ice文件,新建HelloWorld.ice:
这里我们多加了配置java:package,最终生成的java文件会在cn.didadu.generate.helloworld包下。
在ice_hello目录下执行slice2java --output-dir ./src/main/java ./src/main/slice/HelloWorld.ice
,目前目录结构如下:
暂且先不管这些文件到底是什么,我们接着看怎么用。
实现Service
在cn.didadu下新建service包,存放我们将要实现的service类,新建HelloServiceImpl.java:
HelloWorldServiceImpl继承自之前生成的文件。
实现提供服务逻辑
在cn.didadu下新建ServerStarter.java,用于启动服务:
实现客户端调用
在cn.didadu下新建Client.java,用于调用服务:
至此,我们就跑通了Ice,当然只是非常简单的例子,没有什么实际用途。从目前个人的使用感受,以及开源社区的氛围来看,要把这个产品引入到实际项目中,并不是件容易的事儿。本篇就写到这里了。