「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论坛,了解一个非常简单的解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/569343.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面向多源异质遥感影像地物分类的自监督预训练方法

源自:测绘学报 作者:薛志祥, 余旭初, 刘景正, 杨国鹏, 刘冰, 余岸竹, 周嘉男, 金上鸿 摘 要 近年来,深度学习改变了遥感图像处理的方法。由于标注高质量样本费时费力,标签样本数量不足的现实问题会严重影响深层神经网络模型的性能。为解决这一突出矛盾…

将本地项目推送至gitlab仓库

1. gitlab上新建一个空白项目 gitlab上点击new project按钮,新建一个项目 新建空白项目 项目名称与本地新建项目名称相同,其余根据具体需要选择 2. 初始化本地仓库并commit项目 进入本地项目根目录下,右击 git bash here打开命令窗口 初始化…

MappedStatement解析流程

前言 之前写了一篇博文,介绍了mybatis的解析过程,其中mapper标签只演示了如何使用,这篇博文我们来探究mapper标签解析流程 源码解析 核心方法入口 引入mapper方式 使用相对于类路径的资源引用使用完全限定资源定位符(URL&…

“五之链”第十六期沙龙活动在呆马科技成功举办

2024年4月19日,由临沂呆码区块链网络科技有限公司(呆马科技)承办的第十六期“五之链”物流主题沙龙活动成功举办。此次活动邀请了政府相关部门、知名科研院所、物流企业等20余家单位参与,共同探讨物流数据要素流通与智能应用的发展…

新版ONENET(2024/4/24)通过view3.0可视化保姆级教程(一学就会)附效果图

⏩ 大家好哇!我是小光,想要成为系统架构师的嵌入式爱好者。 ⏩上一篇是STM32通过ESP8266连接最新版的ONENET,成功将数据上传之后,本篇文章使用ONENET的view3.0可视化对数据进行可视化做一个详细教程。 ⏩感谢你的阅读,…

AnaTraf网络流量分析仪:实时分析工具助您优化网络架构

导言: 在如今高度互联的数字时代,网络流量分析成为了企业和组织必备的工具之一。AnaTraf网络流量分析仪作为一款高性能的实时网络流量分析工具,不仅能够帮助用户进行全流量回溯分析、网络流量监控和网络性能分析,更可以快速排除网…

两天速通阿里

感觉这一周太梦幻了,就像一个梦,很不真实~~~ 感觉这个暑期,我的运气占了99成,实力只有百分之一 4.15上午 腾讯csig 腾讯云部门,面完秒进入复试状态 4.16下午 美团优选供应链部门,4.18上午发二面 4.17晚上 阿…

C#基础|属性Property之读写特性和经典总结

哈喽,你好,我是雷工。 本节学习属性特性——控制读写操作,以下为学习笔记。 01 只读属性 写法1:直接去掉set方法,可以在定义的时候初始化。 示例: public string CourseName{get;}“雷工笔记…

2024年学浪提取视频#小浪助手

2024年,学习视频已经成为人们获取知识和提升技能的重要途径,而学浪视频平台以其丰富多样的学习资源备受瞩目。然而,有时我们可能只需要其中的一小部分内容,而不想将整个视频都下载下来。在这个时候,小浪助手作为一款强…

软件无线电系列——Nyquist采样定理

本节目录 一、Nyquist采样定理 1、Nyquist采样定理的定义 2、Nyquist采样定理的证明本节内容 一、Nyquist采样定理 如果对某一时间连续信号进行采样,当采样速率达到一定数值时,就可以根据这些采样值准确地确定原信号。 1、Nyquist采样定理的定义 何为Ny…

这操作真牛!APT杜绝软件包被篡改

0x00 简介 我们介绍了传统包管理器、新型包管理器的工作方式,其中用了大篇幅介绍 APT 包管理器,但是没有对安全人员比较关心的软件包校验问题进行介绍 0x01 大众疑问环节 这部分主要是从常规 Linux 使用者的视角,提出一些平时工作过程中的…

到底什么是爬虫

1. 引言 在数据驱动的世界里,网络爬虫(Web Crawling)技术扮演着获取和处理网上数据的关键角色。无论是为了数据分析、机器学习项目的数据集构建还是简单地监测网页变化,学习如何创建一个基本的网页爬虫可以大大提升你的工作效率和…

万兆以太网MAC设计(7)ARP协议报文格式详解以及ARP层模块设计

文章目录 前言:1、ARP协议详解2、ARP工作机制 二、ARP_RX模块设计三、ARP_TX模块设计四、ARP_table模块5、仿真5.1、发送端5.2、接收端5.3、缓存表 总结 前言: 1、ARP协议详解 ARP数据格式: 硬件类型:表示硬件地址的类型。它的值为1表示以太…

postman接口自动化

1.基础知识 1.打开postman新建一个文件夹。 (建立每一部分文件夹可以更好的管理接口信息) 2.postman基本介绍 这里用到的是我自己的一个项目。 params:查询字符串,一般作为url的一部分。 authorization :鉴权&…

CentOS 7.9.2007 中Docker使用GPU

一、安装nvidia驱动 1.1,查看显卡驱动 # 查看显卡型号 lspci | grep -i nvidia 1.2,进入 PCI devices ,输入上一步查询到的 2204 1.3,进入 官方驱动 | NVIDIA,查询 Geforce RTX 3090 驱动并下载 1.4,禁用…

数据结构(C):时间复杂度和空间复杂度

目录 🚀 0.前言 🚀 1.为何会有时间复杂度和空间复杂度的概念 🚀 2.时间复杂度 2.1初步时间复杂度 2.2大O表示法 2.2.1.O(N*N) 2.2.2.O(N) 2.2.3.O(1) 2.3最坏情况…

Set A Light 3D Studio:轻松上手,打造专属3D作品!

set a light 3d studio mac版是mac上一款功能方面相当强大的3D摄影棚布光工具,可以帮助摄影行业的工作用户在进行3D室内拍摄的时候,完成对灯光的位置调整设置,只要运用该软件,支持对各种灯光的道具摆放位置,灯光的反射…

Pycharm远程连接实验室服务器Conda环境配置

如何配置Pycharm和远程服务器 这类博客较多,参考内容 https://blog.csdn.net/fengbao24/article/details/125515542 Python解释器选择(conda3) 1. Settings -> Add Interpreter -> On SSH 注意,这里的SSH需要在你把远程…

Python读写文本URL蓝牙WIFI自动连接电子名片位置坐标智能海报等NDEF标签

本示例使用的发卡器:https://item.taobao.com/item.htm?id615391857885&spma1z10.5-c.w4002-21818769070.11.60ad789erlonvk 近场通信(Near Field Communication,简称NFC),是一种新兴的技术&…

雨云 湖北十堰 8272CL 高防高性能云服务器测评

雨云 湖北十堰 高防云服务器,铂金8272CL高性能处理器,2核2G 10兆 400G防御,仅需60元/月;8核16G 20兆 400G高防,仅需170元/月,年付8折1632元/年(约136元/月)。 企业级纯NVME固态硬盘高…