【JavaWeb】循序渐进做项目——水果库存系统04(完)

发布于:2023-01-24 ⋅ 阅读:(16) ⋅ 点赞:(0) ⋅ 评论:(0)

水果系统项目总结

在这里插入图片描述

  • myssm文件夹(通用代码,实现了一个简易的框架)

    • filters

      CharacterEncodingFilter:为了防止乱码——先在过滤器中设置编码。

      OpenSessionInViewFilter:由于Service层一般会涉及到多个DAO,为了进行事务管理,多个DAO之间应该使用同一个Connection。所以在过滤器中进行事务管理,使同一业务的多个DAO使用同一个Connection。

    • listeners

      ContextLoaderListener:继承ServletContextListener ,监听ServletContext对象的创建和销毁的过程。在ServletContext创建的时候,我们创建IOC容器(降低层与层之间的耦合)。

      //在ContextLoaderListener使用ClassPathXmlApplicationContext创建IOC容器。
      BeanFactory beanFactory = new ClassPathXmlApplicationContext(path);
      

      并将IOC容器保存到application作用域中,后续供DispatcherServlet从application中获取。

    • ioc

      ClassPathXmlApplicationContext:实现BeanFactory接口,读取applicationContext.xml配置文件,放到beanMap中。

    • trans

      TansactionManager:事务管理,让多个DAO操作在同一个事务中。分为开启事务、提交事务、回滚事务。

    • myspringmvc

      DispatcherServlet:继承ViewBaseServlet,执行总体的调度控制。具体为:

      • 接收请求
      • 根据业务逻辑处理请求(请求FruitController类中的具体方法,其实就是FruitService方法。)
      • 分发页面(转发、重定向)
    • basedao

      BaseDAO:基础DAO的使用,属于JDBC的知识。

  • 配置文件
    applicationContext.xml:配置类与类之间的依赖关系。

  • fruit文件夹

    • controllers

      FruitController:控制层,为具体方法的实现,业务逻辑还是要写在业务层中。

    • service

      FruitService:属于业务层,实现具体的业务逻辑。一般为多个DAO的使用。

    • DAO

      FruitDAO:与数据库的一些交互,例如获取库存列表、添加水果信息等。

      FruitDAOImpl:实现FruitDAO接口,实现具体的功能。

    • POJO

      Fruit:把水果这一实体抽象为普通的类。