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

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

MyEclipse v2023.1.2离线版下载

3. 应用程序的分层

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

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

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

3.1 Web层

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

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

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

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。

代码助手

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

相关推荐
伯恩bourne10 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
silvamux_10 小时前
curl 测试 OpenAI 兼容 API 的完整流程
java·人工智能·缓存·ai·oneapi
省钱兄--zs11 小时前
深圳24小时自助健身房软硬件解决方案实战指南与开发流程详解
java·数据仓库·spring boot·小程序·架构
顽疲11 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog11 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
用户212968352616811 小时前
开源了一个 Java 多智能体 LLM 框架 Baton:一个依赖,把 Agent 循环、工具调用、记忆、编排全配齐
java·llm
helmsail11 小时前
05 管理活动与选品
java
天远数科12 小时前
Java数据工程:利用天远人车核验加强版优化智慧高速ETC发行合规体验
java·人工智能
.Bryce.12 小时前
在智能体中使用A2A工具:让大模型自己决定“该找谁帮忙“
android·java·服务器·redis·后端·agent·a2a
xiaoqiMikko12 小时前
fastjson 1.2.84 的补丁关掉了一个缓存:addAccept 包前缀白名单下,反序列化慢了 13~28 倍
java·后端·性能优化