水果系统项目总结
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
:把水果这一实体抽象为普通的类。