首页 > 编程语言 >「Java开发指南」MyEclipse如何支持Spring Scaffolding?(三)

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

时间:2024-02-20 11:57:54浏览次数:40  
标签:web Java Scaffolding Spring MyEclipse 应用程序 注释 分层

在上文中主要为大家介绍了CRUD Scaffolding,本文将继续介绍应用程序的分层、代码助手等。

MyEclipse v2023.1.2离线版下载

MyEclipse技术交流群:742336981 欢迎一起进群讨论

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搭建的):

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 AnnotatorsJAX-WS Annotators 和JPA Annotators

「Java开发指南」MyEclipse如何支持Spring Scaffolding? 代码助手

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

标签:web,Java,Scaffolding,Spring,MyEclipse,应用程序,注释,分层
From: https://www.cnblogs.com/AABBbaby/p/18022793

相关文章

  • Java SE 完结心得
    昨天刚看完JavaSE的最后一节课,Java基础阶段将近花费了35天的时间,这个时间相对来说是比较长的。整个阶段学习状态也是断断续续的,没有每天按时的学习,经常是今天学完,明天不学了。下面开始学习Javaweb的时候,要及时的调整自己的状态。不能每天在满不在乎的了。基础阶段跟的是黑马......
  • java1.8LocalDate日期常用函数
    LocalDatenow=LocalDate.now();//获取当前日期2023-12-31Stringformat=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"));//获取当前时间2023-12-3115:44:52intmonthValue=now.getMonthValue();//返回当前的月份intdayOfMonth=now.......
  • 基于Java+SpringBoot+vue的采购管理系统(源码及功能分析)
    前言:随着全球化和信息化的发展,企业采购管理面临越来越多的挑战。传统的采购方式往往涉及到多个繁琐的步骤,包括供应商筛选、询价、招投标等,这些过程不仅耗时,而且容易出错。为了解决这些问题,供应商、询价、招投标一体化系统应运而生。该系统通过集成供应商管理、询价管理、招投标......
  • java图片压缩
    /***压缩图片并返回字节数组*@paramfile*@return*@throwsException*/privatebyte[]compress(Filefile)throwsException{Filetemp=newFile(file.getAbsolutePath());//scale:大小//outputQualit......
  • springboot整合activiti工作流(源码及功能分析)
    前言activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求。一、项目形式springboot+vue+activiti集成了activiti在线编辑器,流行的前后端分离部署开发模式,快速开发平台,可插拔工作流服务。工作......
  • Java项目计算程序执行时间方法
    一、总结1.1、使用System.currentTimeMillis();计算程序执行毫秒数 //开始时间1 longstartTime1=System.currentTimeMillis(); Thread.sleep(100); //结束时间1 longendTime1=System.currentTimeMillis(); //开始时间2 longstartTime2=System.current......
  • SpringBoot 实现热插拔AOP,非常实用!
    现在有这么一个需求:就是我们日志的开与关是交给使用人员来控制的,而不是由我们开发人员固定写死的。大家都知道可以用aop来实现日志管理,但是如何动态的来实现日志管理呢?aop源码中的实现逻辑中有这么一个步骤,就是会依次扫描Advice的实现类,然后执行。我们要做的就是自定义一个advice......
  • Spring Boot 实现各种参数校验
    之前也写过一篇关于SpringValidation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂SpringValidation。本文会详细介绍SpringValidation各种场景下的最佳实践及其实现原理,死磕到底!项目源码:spring-validation:https://github.com/chentianming11/spring-validation简单使......
  • java.util.Optional 是 Java 8 引入的一个类,用于处理可能为 null 的值。它可以避免 Nu
    可以使用 Optional 来包装可能为 null 的值,然后通过一系列方法来处理这个值,例如 isPresent() 检查是否有值,orElse() 获取值或默认值,map() 对值进行转换等。这样可以更安全地处理可能为 null 的情况。 importjava.util.Optional;publicclassOptionalExample{  ......
  • Java集合篇之set,面试官:请说一说HashSet、LinkedHashSet、TreeSet的区别?
    写在开头Java的集合世界中主要由List,Set,Queue,Map构成,我们在之前的博文中已经学习了List,接下来我们继续学习Set集合。Set特点:存取无序,不可以存放重复的元素,不可以用下标对元素进行操作HashSet作为Set容器的代表子类,HashSet经常被用到,我们通过源码去分析它【源码查看】public......