课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
java编程语言一直以来都作为企业级应用软件开发的主流编程语言。今天,我们就一起来了解一下,在企业级应用编程开发项目中都有哪些框架结构是可以使用的。
企业级软件开发人员通常会面对如下需求组合(至少我经常遇到的是):设计优良的数据存储结构(有时候是已有的旧数据库模型),大量的数据录入表单,非常复杂的业务逻辑、报表功能、与许多公司其他系统(财会、CRM等)集成,数千并发量。对此,你先考虑的是什么?
“采用主流的关系数据数据库管理(RDBMS)、Hibernate / JPA + Spring Boot、REST API,并且使用我喜欢的或者新的JS框架来实现UI。”
“嗯~,还需配置Spring Security ,也许还需要写一部分代码来实现行级别的数据保护功能。如何实现呢?也许会用到数据库视图或虚拟专用数据库。“
“所有这些DAO代码都非常相似且枯燥,但我还是需要一一实现。”
“可以使用类似ModelMapper的东西将JPA实体转换为REST的DTO。”
“别忘了跟实习生强调下懒加载和JPA关联查询。”
“唉,其实都是雷同登录界面、千篇一律的实体到DTO的转换,有没有办法能让我摆脱所有这些乏味的东西 ,只需要专注于关键的业务逻辑实现呢?”
本文适合使用Spring框架(包括Spring Boot)从头开始做过几个项目、并且正在考虑怎么提高自己工作效率的开发人员。在文章中,我将向您展示如何使用CUBA平台摆脱常见的耗时枯燥任务。
又一个新框架?
开发人员在听到新框架时提出的一个问题往往是:“为什么我需要这个?Spring Boot就能很好地帮助我从头开始实现所有内容”。 没错,新平台意味着新的规则、新的限制,之前积累的其他框架的经验便失去了意义。就算是目前使用的框架不完美,但是对它足够了解,知道有哪些坑,和哪些变通的方法。
但是,从Spring切换到CUBA,并不需要重头学习规则,甚至没有什么变化,只要稍微前进一步就可以摆脱枯燥的开发任务,摆脱数百行DTO架子代码和转换工具的困扰,摆脱实现数据分页或数据过滤组件、创建Spring Security配置文件(JPA,Cache,...)等等些基础功能的麻烦。
本文中,我们将从头开始展示CUBA如何遵循几乎所有基于Spring的开发模式,开发人员在Spring中积累的经验能被充分利用,同样的研发投入却能交付更多。为了使情景更清晰简洁,本文侧重于后端代码。
Spring应用程序架构
Spring应用程序的典型架构可以很容易搜索到,很多情况下,它可以表示为具有一些交叉区域的典型三层应用程序。让我们来看看“经典”的Spring应用程序:
领域模型(Domain Model) - 通常需要手动创建。但是,有一些工具可基于数据存储结构创建领域模型。
数据存储层(Repository Layer) - 与数据存储一起使用的类。也称为“DAO”,“存储库(Repositories)”等。这块是ORM框架(及其兄弟姐妹们)的领地。它通常包含功能域模型中的一个实体执行CRUD操作的类。
服务层(Service Layer) - 有时开发人员会创建一个额外的层来分离业务逻辑和数据CRUD操作。如果项目业务逻辑复杂,涉及不同类型的数据源,或者涉及外部服务集成,这一层会很有用。
Web /控制器层(REST / MVC) - 用来处理REST API(将由基于浏览器的应用程序使用)或使用JSP实现的视图,或是模板框架(thymeleaf, velocity)、JVM前端框架(GWT, Vaadin,Wicket等)。由于API结构或前端界面展示不同,通常控制器是操作DTO而不是实体对象。因此,开发人员通常必须在实体模型和DTO模型之间实现双向转换。
节选:CUBA China
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!