发表于: 2018-03-20 23:51:03

1 531


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

一、了解SSM框架结构

1.SSM框架是spring MVC,spring和Mybatis框架的整合,是标准的MVC模式【即model(模型)——view(视图)——controller(控制器)】,将整个系统划分为表现层,controller层,service层,DAO层四层。

使用spring MVC负责请求的转发和视图管理,spring实现业务对象管理,mybatis做为数据对象的持久化引擎。

2.spring:我们平时开发接触最多的估计就是IOC容器,它可以装载Bean(也就是我们JAVA中的类,当然也包括Service Dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为他进行初始化,很少看到关键字new。另外spring的aop,事务管理也是我们经常用到的。

3.Mybatis:Mabatis是对JDBC的封装,它让数据库底层操作变得透明。Mybatis的操作都是围绕一个sqlSessionFactory实例展开的,mabatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

4.spring MVC:

①客户端发送请求到DispacherServlet(分发器)

②由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller

③Controller调用业务逻辑处理后,返回ModelAndView

④DispacherSerclet查询视图解析器,找到ModelAndView指定的视图

  • ⑤视图负责将结果显示到客户端

5.持久层:DAO层(mapper)

①DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此, 

②DAO层的设计首先是设计DAO的接口,

③然后在Spring的配置文件中定义此接口的实现类,

④然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,

⑤DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。

  • 6.业务层:Service层
  • ①Service层:Service层主要负责业务模块的逻辑应用设计。 
  • ②首先设计接口,再设计其实现的类
  • ③接着再在Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。
  • ④Service层的业务实现,具体要调用到已定义的DAO层的接口,
  • ⑤封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。
  • 7.表现层:Controller层(Handler层)
  • ①Controller层:Controller层负责具体的业务模块流程的控制, 
    • ②在此层里面要调用Service层的接口来控制业务流程,
    • ③控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。
    • 8.View层
      • View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示.
      • 9.各层联系
        • ①DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势
        • ②Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法
        • ③Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
        • 10.建立顺序
          1. ①先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
          2. ②写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。
          3. ③写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。注意三个对应
          4. ④写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。
          5. ⑤写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
          6. ⑥写JSP页面调用,请求哪些参数,需要获取什么数据。
          7. 由于学习进度问题,暂时先不考虑后两步

二、修改文件结构

按照师兄要求对maven项目的文件结构进行修改,但是在修改过程中由于使用了一键修改名称导致全局的一些同名变量也被修改了,原本可以运行的项目也报错了

此时,需利用全局查找功能ctrl+shift+f,对关键词进行查找修改回来,当全部修改完后,就可以正常运行了

暂时结构如下


明天计划的事情:(一定要写非常细致的内容) 

明天准备在理清正确层级关系的基础上,写出其service层


遇到的问题:(遇到什么困难,怎么解决的) 

对于层级结构还是一知半解,然后报错还是不太会看


收获:(通过今天的学习,学到了什么知识)

对ssm体系有了一个大概的认识,知道了每一部分在整个结构中所起的作用



返回列表 返回列表
评论

    分享到