关于applicationContext.xml

  • 这个文件中有两大内容:
    1. 数据库信息,供hibernate使用
    2. 一堆的JavaBean

如何去理解文件里的这些JavaBean?

  • 这里面的JavaBean都是一个个写好的类,当applicationContext启动后,它们会被自动实例化。
  • 我们回到最开始的问题;页面无法加载出图片。我们的解决方法是手动写了页面,强制它调用了struts的action。但这是我们的解决方案,不是原作者的意图。
  • 那作者的本意是什么?查看applicationContext.xml后我们会发现,作者把很多action都写成了bean,包括加载主页面的index.action
    4.jpg
  • 所以我们的方式是利用struts来手动执行indexAction,但是作者的意图是利用Spring来自动加载indexAction,但是在我们的项目上没有成功,可能是因为转在了IDEA上运行的原因
    5.jpg
  • 那如何理解文件中的JavaBean呢?我们刚刚说的是,indexAction这一个Bean,那其他的bean与它类似,都是写好的java类,在Spring的“指挥”下自动完成一些任务。(指挥这个词用得可能不妥当,但我觉得它很形象。)

数据库的操作

SQL Server

表名 内容
t_admin 管理员账号
t_catelog 鲜花类别
t_gonggao 公告
t_goods 鲜花图片名字,存储路径,是否为特价
t_liuyan 留言
t_order 订单信息
t_orderItem 订单,数据?
t_user 会员账号

Hibernate

  • Hibernate的配置全部写在applicationContext.xml中,并且在Dao中的类都继承了HerbinateDaoSupport,所以我们在操作数据库时不需要自己创建SessionFactory等对象,可以调用getHibernateTemplate()
    2.jpg
    3.jpg
  • 这里面的sessionFactory作为一个bean,在applicationContext启动后就被Spring自动实例化了
  • 关于Hibernate的Dao对象: (以下内容摘自CSDN)
  1. HibernateDAO实现
  2. DAO对象是模块化的数据库访问组件,DAO对象通常包括:对持久化类的基本CRUD操作
  3. (插入、查询、更新、删除)操作。SpringHibernateDAO实现提供了良好的支持。
  4. 主要有如下两种方式的DAO实现:
  5. 继承HibernateDaoSupport的实现DAO ,基于Hibernate3.0实现DAO
  6. 不管采用哪一种实现,这种DAO对象都极好地融合到SpringApplicationContext中,
  7. 遵循依赖注入模式,提高解耦。