「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 AnnotatorsJPA Annotators

代码助手

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

相关推荐
·薯条大王8 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
ZJH__GO11 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
程序员黑豆11 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光12 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
凤山老林12 小时前
Spring Boot @Async 线上实战:从默认配置到生产级线程池治理
java·spring boot·后端
marvelyu13 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
AI人工智能+电脑小能手14 小时前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦
BUG指挥官14 小时前
Sa-Token和Spring Security对比
java·后端·spring
小当家.10514 小时前
深入理解 ReAct Agent:从原理到 Java 实战
java·react.js·agent·react·架构设计·agent设计
geminigoth14 小时前
Spring AI Alibaba 入门开发一(备份)
java·人工智能·spring