如何撸出一个SSM项目

如何撸出一个SSM项目

本人在学习完SSM的知识之后,结合各种开源软件上面的源码,对于SSM项目有了以下理解,写出来供大家参考,如有不足欢迎指出

要耕地,就得有个好农具。首先应当选择自己使用起来得心应手的IDE,只有这样,在做项目的时候就不会被一些奇奇怪怪的IDE使用问题困扰。选择一个适合自己的IDE,这是做项目的第一步

开发环境的搭建

本说明是基于SSM框架来开发JAVAWEB应用,所以下面就介绍关于这些开发环境的搭建

首先,在IDE当中创建一个全新的项目(动态WEB项目),下载各种必须的jar包,并将其导入到项目当中,配置Tomcat服务器,用来调试程序,前期的准备工作就算完成了。

最关键也是最难完成的一步:配置文件的配置

在学习Javaweb框架的时候,由于配置文件配置错误的问题,导致项目始终无法成功运行,上网查找解决方法,各种改配置文件…这些操作占用了大量的时间。所以配置文件这一步很难,也很重要,没有配置文件,项目将无法运行起来,也就没有接下来的项目推进了。

关于我所了解的用SSM框架来开发Javaweb项目

SSM(SpringMVC,Spring,Mybatis)中,需要配置的有以下几个文件

1.web.xml

2.springmvc.xml

3.jdbc.properties

扫描二维码关注公众号,回复: 2864351 查看本文章

3.applicationContext.xml

在写配置文件的过程中,为了避免出错,及时找出错误所在,应当边写边进行测试。

Spring和Mybatis整合时,写一个测试类

Spring和SpringMVC整合时,再写一个测试类

最后整合完成之后,写一个简单页面来整体测试一下是否整合成功

项目编写

首先,最底层的数据库结构是最重要的。要进行项目开发,首先要对需求进行分析,考虑哪些数据有持久化需求,只有设计出了一个合适的数据库,项目开发才能顺利地进行下去。

数据库设计好之后,接下来就进入项目推进的步骤当中了,下面讲一下一个基于SSM框架的JavaWeb项目应当怎么写。

SSM框架的特性决定了它所开发出来的JavaWeb应用是前后端耦合的,这种情况,不算好,但也不坏。

缺点在于:前后端耦合紧密,开发人员需要掌握的知识很全面

优点:开发任务可以分模块进行,一个人可以从后端到前端进行一个整体开发,在项目小组当中也方便进行任务分配,小组人员之间可以无障碍交流,不用分前端后端人员

SSM项目的开发步骤:

首先确定好项目的文件结构

包结构
com
    bean
    controller
    interceptor
    mapper
    service
        api
        impl

上述结构就是大致的后端项目文件包结构,具体的功能模块可以在上述几个包中再分子包,进行编写。这样的话,项目结构清晰,便于查错和代码维护

根据数据库中的表创建bean中的实体类,实体类中写好get set tostring方法,标明该实体类所对应的实体名称,以及实体类中属性的名称

然后就是dao层当中的CRUD操作了,首先写好要对数据库进行什么样的操作,也就是Dao接口当中的方法,再写Dao.xml文件当中,具体的sql语句。

在写Dao层的时候,可以同时写一个测试类,测试Dao层对数据库的操作是否正确,同时排除错误的操作,假如一气呵成,那么在运行项目的时候如果出错,需要改动的地方就很多了。

注:要充分利用好Mybatis框架对数据库的操作,会大大节省sql语句

写好Dao层之后,下面就是service层了,关于service层的编写,要结合具体的业务逻辑,先想好在具体的业务逻辑当中需要进行一些什么样的操作,根据操作将Dao层中对数据库所进行的操作整合一下,再稍微加上一些逻辑判断,便是service的编写了。
简单来说,Dao层是对数据库当中数据的细化操作,service层是将这些操作整合起来形成一个能够满足业务逻辑的操作

service层写好之后,就只剩下Controller和Jsp页面的编写了,我觉得这两部分的开发应当同步进行,在SSM中,由于WEB-INF目录下面的JSP页面无法直接访问,需要从controller中生成新视图来显示出html页面。同样,前端JSP页面和后端Controller当中的数据是需要进行交互的,这也就是为什么说SSM前后端不分离的原因。

关于前后端数据交互,可以使用ajax进行同步或异步数据传输,具体的应用为用户登陆,用户注册时判断用户名是否存在。

在controller中,如果要简单生成一个新页面而不传送数据的话,直接用一个ModelAndView类型的函数来return new ModelAndView(“页面名”),这样就可以直接生成一个新页面。

同样,前端的JSP页面如果想要进行URL跳转,由于上述的WEB-INF无法被外部访问的原因,JSP页面只能访问Controller当中的*.do方法来进行页面跳转

至于前端页面,可以使用现成的前端UI框架来设计出美观的页面。

关于分页

关于分页问题,详情见bookmanage这个项目当中的分页,具体操作就是,首先建立一个实体类Page,Page当中的属性有,当前页数,开始页数,行数,最后页数。分别写出setget方法,然后再添加一些判断逻辑,如得到最后一页当中的数据行数。数据库中如果查询全部数据,那么就用一个list当中嵌套实体类型的方式,取出来之后发送给前端JSP页面,JSP页面用c:foreach方法进行遍历。

然后就是切换页面了,放四个button,首页、上一页、下一页、末页,这四个button可以访问一个url,在访问的同时,带上参数,也就是Page类中的(当前页当中第一个数据的id(也就是对数据库进行查询时,返回的第一条数据)),参数可以在前端进行计算(当前第一条数据加上每一页中的行数)。数据传送到生成该分页的controller当中,controller就会去查询数据库,找到当前页的数据,再返回新的modelAndView给JSP页面重新进行渲染,生成具有当前页所要显示的数据的页面。

注意,所谓的分页并不是将数据直接从数据库中全部查询出来然后在前端分部分进行渲染,而是从数据库中一部分一部分地将所要显示在JSP页面当中的数据从数据库当中取出,再传送给JSP页面进行渲染(JSP页面是需要进行刷新的)。

小提示

其实对于所有的项目来说,最重要的并不是编码的部分。重要的是思考如何进行编码才能写出符合项目要求的、简洁明了的、利于维护的代码。
假如编码思路清晰,那么再进行编码将会事半功倍,因为编码所做的很多都是重复操作,例如数据库的CRUD操作。

猜你喜欢

转载自blog.csdn.net/rowenci/article/details/81668576
今日推荐