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

news2024/11/15 12:21:52

在上文中(点击这里回顾>>),主要为大家介绍了CRUD Scaffolding,本文将继续介绍应用程序的分层、代码助手等。

MyEclipse v2023.1.2离线版下载

3. 应用程序的分层

应用程序分层是应用程序开发领域中非常常见的体系结构方法,应用程序分层包括将应用程序代码划分为在应用程序中具有不同职责的离散层,并且每个层都与其他层隔离。下图显示了web应用程序中最常见的应用层:

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

Spring框架支持构造型注释,它指定任何带注释的Java类的层/角色,并且注释允许自动检测类。接下来的几节将简要介绍每一层,并描述每一层的相关Spring原型。

由于应用程序分层很流行,并且有Spring框架的直接支持,因此MyEclipse提倡使用应用程序分层,并围绕应用程序分层组织其代码生成/搭建功能。

3.1 Web层

web层也被称为UI层,web层主要关注呈现用户界面和应用程序的操作(处理用户交互/事件)。虽然web层也可以包含逻辑,但核心应用逻辑通常位于服务层。

关于web层的实现有很多选择,至于MyEclipse,一些web层实现可能与Spring没有直接关系,但是它们可以与Spring服务层和数据访问层集成。

下面是一些web层的例子(也恰好是MyEclipse for Spring搭建的):

  • Spring MVC – JSP和Spring控制器(@Controller)
  • Spring Web Flow – JSP和Spring flow (xml)
  • JavaServer Faces
  • Adobe Flex – Adobe Flex专用;不涉及Spring web
  • Google Web Toolkit (GWT) –HTML / Javascript;AJAX
3.2 业务层

服务层(也称为逻辑层或业务层)表示正在构建的应用程序的核心功能。web层是服务层提供功能的主要消费者,Spring框架利用@Service注释来指定服务层组件。除了帮助组织应用程序逻辑之外,使用服务层的另一个好处是可以使用其他接口公开它。例如,如果应用程序逻辑需要对其他应用程序可用,则可以使用JAX-WS将其公开为web服务。如果web层是AJAX应用程序,则可以使用DWR将服务公开为JavaScript/JSON服务。

3.3 领域层

领域层由领域模型表示,领域模型是一组不同的相互关联的应用程序对象,这些对象体现了正在构建的系统功能和特征。在web应用程序中,这通常由Java bean (POJO)和/或JPA实体组成,Spring组件构造型(@Component)也是将由Spring框架管理的非实体bean。

3.4 数据访问层

数据访问层处理域模型与数据库(或其他一些持久化机制)之间的持久化,Spring存储库构造型(@Repository)适用于将要处理持久性的类。

4. 代码助手

代码助手是指MyEclipse中的一组功能,用于帮助开发人员进行日常开发活动。第一组代码助手是注释器,虽然大多数JAVA开发人员都理解JAVA注释的技术用法,但并不总是清楚哪些注释可用于特定技术以及何时应该使用特定注释。例如,Spring框架对基于注释的编程有很好的支持;但是有很多支持的注解。有些注解适用于所有Spring原型,而其他注解只适用于特定的原型。注释器通过帮助开发人员了解哪些注释是可用的以及应该在什么上下文中使用注释来支持基于注释的开发。

有关注释器的更多信息,请参见Spring Annotators, JAX-WS Annotators 和JPA Annotators。

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

代码助手

篇幅有限,更多内容持续关注,下期见~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

欲速则不达,慢就是快!

引言 随着生活水平的提高,不少人的目标从原先的解决温饱转变为追求内心充实,但由于现在的时间过得越来越快以及其他外部因素,我们对很多东西的获取越来越没耐心,例如书店经常会看到《7天精通Java》、《3天掌握XXX》等等之类的书籍…

算法沉淀——二叉树中的深搜(leetcode真题剖析)

算法沉淀——二叉树中的深搜 01.计算布尔二叉树的值02.求根节点到叶节点数字之和03.二叉树剪枝04.验证二叉搜索树05.二叉搜索树中第K小的元素06.二叉树的所有路径 二叉树的深度优先搜索是一种遍历二叉树的方法,它通过深度递归的方式探索树的结构。有两种主要形式&am…

【洛谷 P8780】[蓝桥杯 2022 省 B] 刷题统计 题解(贪心算法+模拟+四则运算)

[蓝桥杯 2022 省 B] 刷题统计 题目描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a a a 道题目,周六和周日每天做 b b b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n n n 题? 输入格式 输入一…

机器人内部传感器阅读笔记及心得-位置传感器-光电编码器

目前,机器人系统中应用的位置传感器一般为光电编码器。光电编码器是一种应用广泛的位置传感器,其分辨率完全能满足机器人的技术要求,这种非接触型位置传感器可分为绝对型光电编码器和相对型光电编码器。前者只要将电源加到用这种传感器的机电…

智慧驿站_智慧文旅驿站_轻松的驿站智慧公厕_5G智慧公厕驿站_5G模块化智慧公厕

多功能城市智慧驿站是在智慧城市建设背景下,所涌现的一种创新型社会配套设施。其中,智慧公厕作为城市智慧驿站的重要功能基础,具备社会配套不可缺少的特点,所以在应用场景上,拥有广泛的需求和要求。那么,城…

基于深度学习的红肉新鲜过期判决系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 系统构成与流程 4.2 模型训练与优化 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ...............................................…

Open CASCADE学习|为什么由Edge生成Wire不成功?

Wire 是一种复合形状,不是由几何形状构建的,而是由边缘的装配构建的。BRepBuilderAPI_MakeWire类可以从一个或多个Edge构建Wire,或将新Edge连接到现有Wire。 BRepBuilderAPI_MakeWire 类将Edge连接到Wire。添加新Edge时,如果其顶点…

力扣基础刷题---二分查找

704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 中心思想:找到中间值,跟中间值比…

区块链游戏解说:什么是 Nine Chronicles

作者:lesleyfootprint.network 编译:cicifootprint.network 数据源: Nine Chronicles Dashboard 什么是 Nine Chronicles Nine Chronicles 是一款去中心化的在线角色扮演游戏,标志着在线游戏和区块链技术的发展。 Nine Chroni…

阿里云OTA升级指南

阿里云OTA升级指南 OTA简介 OTA是Over-The-Air的缩写,中文意为“通过空中传输”。在计算机和通信技术领域中,OTA指的是通过无线网络等方式将软件、固件、配置文件等更新、下载、安装到设备上的一种技术手段。它可以实现远程升级和管理设备的软件和配置…

【Python】 剪辑法欠采样 CNN压缩近邻法欠采样

借鉴:关于K近邻(KNN),看这一篇就够了!算法原理,kd树,球树,KNN解决样本不平衡,剪辑法,压缩近邻法 - 知乎 但是不要看他里面的代码,因为作者把代码…

Paddlepaddle使用自己的VOC数据集训练目标检测(0废话简易教程)

一 安装paddlepaddle和paddledection(略) 笔者使用的是自己的数据集 二 在dataset目录下新建自己的数据集文件,如下: 其中 xml文件内容如下: 另外新建一个createList.py文件: # -- coding: UTF-8 -- imp…

云打印api接口收费吗?

随着近来云打印服务的发展,越来越多的用户都开始选择云打印服务。很多工具类、学习累的App和软件看到了这其中的甜头,也都想要对接云打印业务来完成变现。对接云打印服务则需要找到合适的平台进行api对接。那么云打印api接口收费吗?收费标准是…

TF卡辨别指南|拓优星辰

在存储领域,TF卡(MicroSD卡)是一种常见的存储设备,但市场上也存在着各种品牌和型号。为了帮助用户准确辨别TF卡,我们提供了以下辨别指南,以确保用户能够选择符合其需求的高性能、高可靠性的TF卡。 二、外观…

数据结构笔记1线性表及其实现

终于开始学习数据结构了 c语言结束之后 我们通过题目来巩固了 接下来我们来学习数据结构 这里我们将去认识到数据结构的一些基础知识,我在第一次学习的时候会很迷糊现在重新学习发现之前的时候还是因为c语言学的不牢固导致学习数据结构困难 这里 我会尽量的多写代码…

fast-planner代码解读【kino_replan_fsm.cpp】

概述 kino_replan_fsm.cpp订阅实时定位和目标点信息,每隔0.01s执行一次状态机,进行状态切换;每隔0.05s执行一次碰撞检测,按需进行重新规划。核心为执行变量exec_state_ 主要函数及作用 KinoReplanFSM::init 输入:句…

SD-WAN解决方案:企业异地组网挑战之视频会议

随着企业的发展,不少企业开始面临规模扩大、分公司组建、异地办公的需求。其中,远程视频会议作为企业异地管理和运营的重要组成部分,对网络稳定性和视频传输质量有较高的要求。在本文,我们将探讨企业视频会议遇到的网络问题以及这…

SpringBoot+Vue+MySQL:图书管理系统的技术革新

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

面试经典150题——生命游戏

​"Push yourself, because no one else is going to do it for you." - Unknown 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 之所以先暴力求解,是因为我开始也没什么更好的思路,所以就先写一种解决方案,没准写着写…

2月21日

Bean生命周期 过程概述 创建对象 实例化(构造方法) 依赖注入 初始化 执行Aware接口回调 执行BeanPostProcessor.psotProcessBeforeInitialization 执行InitializingBean回调(先执行PostConstruct) 执行BeanPsotProcessor.postProcessAfterInitialization 使用对象 销毁对象…