之前公司的项目使用SSM(Spring+Spring MVC+MyBatis)框架来开发,因此我们需要从以下几点开始来整个框架:
(1)读取数据库连接参数
(2)配置数据连接池
(3)配置c3p0或者druid等
(4)配置SQLSessionFactory对象
(5)各类扫描包配置
...
我们在一个新项目开始之前,需要对各项XML配置文件进行整理修正,这使得我们每次都会花费一部分时间来检验我们的框架是否配置成功。自Spring Boot出现以来,总想将其使用到现有开发中,但由于迁移比较麻烦且成本太高,一直未能进行。最近公司又有了新的项目,所以将使用Spring Boot来开发,也来体验其配置少的特性。
在构建项目之前我们先来聊聊几个重要的术语
1 多模块项目
之前的开发模式都是将所有的代码都编写在一个项目文件中,为了突出重点以及方便维护,我们也会使用多级控制器来按功能划分成众多的子文件来编写代码。但是我们会遇到很多问题,比如新增或修改需求之后,我们需要停止服务器后再重新部署更改的文件,这导致我们需要在用户使用频率最低的时候去做系统升级,同时也会存在一个Bug导致整个系统无法正常使用的风险。
此处我所说的多模块项目是根据用户需求将同类业务抽离成不同的项目,即搭建多个业务项目,即使它们之间存在一定的关联性,我们也可以将其抽离成多个业务项目。这样我们在部署的时候也不会因为一个项目的问题而导致我们整个项目出现问题。比如我们将公用性强的类放在iido-common包,将单点登录放在iido-sso项目中,将系统设置放在iido-manage项目中,将新闻发布放在iido-news项目中等等。多个模块项目通过单点登录来实现用户间通信。
多模块项目开发的一大优势在于,我们可以根据用户需求提供我们现有的业务模块,而不需要将所有的业务模块都提供给用户。同时我们也可以在现有基础上,进行业务拓展,但其并不影响现有用户的使用。
2 分布式部署
之前的项目我们一般都是部署在一个服务器中(如Tomcat中),若我们的项目比较多,业务处理比较复杂时,我们的服务器每次启动的时候都是非常慢的。而我们使用多模块项目开发后,我们可以将比较单一的、复杂度不高的项目部署在一个服务器上,而将业务相对复杂的项目部署到单独的服务器上,这样我们也不会存在更改一处业务导致整个系统重启升级无法使用。
3 前后分离
这个也许是最有争议性的问题,到底什么样的项目适合前后端分离呢?其实这也是我考虑了很久需不需要在本次项目中使用。就我个人而言,还是推荐使用前后端分离开发,这样有利于前后端项目进度的推进,同时前端并不需要去了解业务本身是如何实现的,也不需要等待后端提供接口后再完成页面的编写,其完全可以根据需求独立完成整个业务数据的呈现。而后端只需要集中精力根据需求来实现接口即可。
本节先就说这么多吧,后面我们将在实际开发中再对具体的知识点做总结。
网友评论