• 「Java开发指南」如何利用MyEclipse启用Spring DSL?(二)


    本教程将引导您通过启用Spring DSL和使用Service Spring DSL抽象来引导Spring和Spring代码生成项目,本教程中学习的技能也可以很容易地应用于其他抽象。在本教程中,您将学习如何:

    • 为Spring DSL初始化一个项目
    • 创建一个模型包
    • 创建一个服务和操作
    • 实现一个服务方法
    • 启用JAX-WS和DWR

    注意:自定义Spring代码生成需要MyEclipse Spring或Bling授权

    在上文中(点击这里回顾>>),我们为大家介绍了如何初始化项目、检查输出等,本文将继续介绍如何创建一个Model包、创建服务和操作等。持续关注我们,获取更多MyEclipse中文教程哦~

    MyEclipse v2023.1.2离线版下载(Q技术交流:742336981)

    三、创建一个模型包

    模型包用于名称间隔和对相关的Spring DSL组件进行分组,模型包直接与Java包相关,并且在模型包中创建的Spring DSL构件被生成为匹配的Java包。在创建服务之前,您需要创建一个模型包。

    1. 右键单击Spring DSL文件夹,然后选择New>Model Package。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    添加模型包

    2. 输入org.acme.services作为新模型包的名称,然后单击Finish,新的模型包被添加到Spring DSL视图中。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    新模型包

    四、创建一个服务和操作

    服务用于定义服务层组件和管理相关文件,服务被生成到多个Java文件中,主要的Java文件是一个带@Service注释的Spring组件,这是服务层组件的专用构造型。操作是为服务定义方法的Spring DSL构件,它们是Java方法的Spring DSL表示。操作使用输入和输出来交换数据,它们直接作为方法生成到各自的类中。

    1. 右键单击org.acme.service模型包,然后选择New>Service。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    添加服务

    2. 输入MyService作为新服务的名称,然后单击Finish,新的Service被添加到Spring DSL视图中。

    3. 双击Service来在编辑器中打开。

    Service编辑器用于配置Spring DSL服务的特定实例,在编辑器的底部有各种选项卡,用于配置服务的不同方面。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    服务编辑器

    4. 右键单击MyService,然后选择New>Operation。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    向服务添加操作

    5. 输入doSomething作为新操作的名称,然后单击Finish。新的Operation被添加到Spring DSL视图中,Operation编辑器将自动打开来配置该操作,Operation编辑器提供特定于操作的配置选项。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    操作编辑器

    五、审查生成的代码

    如果单击Spring DSL视图中的服务,则生成视图将显示为您生成的文件。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    生成视图

    默认情况下,Spring DSL服务生成一个服务接口、一个服务实现类(用Spring @Service注释)和一个JUnit测试类。从Spring DSL工件生成的所有Java工件都在generated视图中列出,双击生成视图中的Java工件,在编辑器中打开Java文件。

    注意:生成视图是MyEclipse中支持Spring的视图,默认情况下包含在MyEclipse Spring透视图中。如果您正在使用不同的透视图,那么可能需要将生成视图添加到您的工作区中。

    如前所述,每个服务(DSL)生成一个服务实现类、一个服务接口和一个服务JUnit测试类。

    Spring框架支持@Service注释,它是服务层组件的专用构造型。服务实现类是用Java包名(基于模型包)、所有相关的Spring导入语句、所有相关的Spring注释(包括@Serviceannotation)和为服务创建的每个操作的Java方法生成的。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    MyServiceImpl.java – 服务实现类

    注意,doSomething() Java方法没有实现,这就是实现所需功能的地方。MyEclipse已经创建了包含所有必需的Java和Spring配置的框架代码,但是实现代码是您的责任。您知道希望服务方法做什么,并且可以直接在Java代码中实现该方法。

    下面是生成的服务接口,当您向服务添加新操作时,服务接口将自动更新,这样就少了一件需要担心的事。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    MyService.java – service 接口

    下面是生成的JUnit测试类,它是用所有必需的JUnit和Spring样板代码生成的,您要做的唯一事情就是实现服务测试。当新的操作被添加到服务中时,新的测试方法被自动添加到测试类中。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    MyService.java – service JUnit类

    注意:如果您查看为scaffolded应用程序生成的服务操作,会注意到它们已完全实现。另一方面,当使用Spring编辑器创建新的服务操作时,会生成Java方法,但不会生成Java方法体,这是scaffolding和Spring编辑器功能之间的根本区别。

    六、实现服务方法

    您已经准备好实现服务方法了,这里没什么特别的,只需编写生成的服务方法的实现代码。

    打开MyServiceImpl.java文件,并向服务方法添加一些代码。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    服务方法代码

    七、启用JAX-WS

    默认情况下,服务不支持web服务调用,JAXWS Web Service选项卡用于配置服务的Web服务选项。

    1. 通过双击Spring DSL视图中的MyService构件,打开MyService的Service编辑器。

    2. 切换到JAXWS Web Service选项卡,选择MyService Web服务,然后选择Publish Web Service选项,这将服务公开为JAX-WS web服务。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    JAX-WS配置

    3. 保存文件。

    在部署应用程序时,该服务可作为JAX-WS SOAP web服务使用。如果单击Spring DSL视图中的服务,则生成视图将显示为您生成的另外两个与JAX-WS相关的文件。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    生成视图

    八、启用DWR

    默认情况下,服务不支持JavaScript/JSON调用,DWR选项卡用于配置服务的DWR选项。

    1. 通过双击Spring DSL视图中的MyService构件,打开MyService的Service编辑器。

    2. 切换到DWR选项卡,选择MyService,然后选择Publish选项,这将通过使用DWR的JavaScript/JSON公开服务。

    「Java开发指南」MyEclipse如何支持Spring Scaffolding?

    DWR配置

    3. 保存文件。

    该应用程序已配置为使此服务可用于JavaScript/JSON客户端(即AJAX应用程序)。

    注意:由于依赖Java库的库版本不匹配导致DWR运行时问题,请参阅MyEclipse for Spring论坛,了解一个非常简单的解决方案。

  • 相关阅读:
    Go定时任务源码 - robfig/cron
    JNI中javah命令的使用,生成.h的头文件
    Alibaba官方上线,SpringBoot+SpringCloud全彩指南(第五版)
    苹果电脑mac系统运行卡顿 反应慢怎么办?
    力扣114. 二叉树展开为链表
    STM32——SDIO的学习(驱动SD卡)(实战篇)
    用c语言程序实现冒泡法排序
    重新定义性价比!人工智能AI聊天ChatGPT新接口模型gpt-3.5-turbo闪电更新,成本降90%,Python3.10接入
    【虚拟线程】java21虚拟线程用法 限流等
    基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  • 原文地址:https://blog.csdn.net/AABBbaby/article/details/138150162