【SSH网上商城项目实战】之环境搭建填坑

此篇主要是记录我在从零开始走一遍倪升武大神的【SSH网上商城项目实战】过程中遇到的一些坑并记录解决方法。关于这个项目,大家可以去倪升武的博客学习了解,SSH网上商城项目实战请戳倪升武的项目实战专题

1. 整个项目jar包的管理
        Spring的jar包很多,开发的时候建议将它们分个类,然后依次添加到User Library,方便管理,也一目了然。这里我总结一下整个SSH所需要的基本jar包,看下图:

        从图中可以看出,首先将Spring的jar分为四类:spring-4.2.4-core、spring-4.2.4-aop、spring-4.2.4-persistence以及spring-4.2.4-web。将spring的核心包都放到core中,与aop相关的都放到aop中,与持久化(与Hibernate整合)相关的放到persistence中,与web(与struts2整合)相关的放到web中。每个部分都有哪些jar包呢?请看下面的截图:
  
        注:以上每个分类的包中,并非包含原来包中所有的jar,有些jar文件并没有用到,等具体项目需要的时候再往里加就行了,上图是保证项目的环境可以搭建所需要的的最基本的jar包。
2.搭建Spring环境
       上面的jar包截图是最后整合好的所有jar包,刚开始搭建环境的时候不需要一次性全部加进来,可以一点一点的加,这样也更利于理解每个部分的jar包都有什么作用,当然,一次都加进来也是可以的。
2.1 添加配置文件beans.xml和相应的jar包
        新建一个工程,然后添加在User Library中添加自己的库,这里主要添加两个,即spring-4.2.4-core和spring4.2.4-aop,添加jar包不再赘述。添加完了后,在src目录下添加beans.xml文件,这个文件的模板网上很多,Spring自带的例子里也有,考一份过来就行,见下图:

2.2 测试Spring的IoC环境
        我们写一个普通的Java类java.util.Date类来测试一下Spring IoC是否正常,如果在测试程序中能正常注入,则说明Spring的IoC环境搭建成功,下面我们写一个测试用例:

可是执行上面这个测试用例的时候,报错:

点击错误进入如下界面:

the jar file has no source attachment的错误是很正点的错误呀,使用别人的jar包,经常会遇到the jar file has no source attachment这个问题。般遇到这个问题是因为缺少source.jar或者src.jar,那我只需要找到类似于spring-test-src.jar或者spring-test-source.jar,并把jar包附加(点击“Attach Source…”按钮)进去就可以了。

接着再次执行测试用例,还是报错:

由于测试用例中系统默认给我导入的是JUnit4,默认版本如下:
所以明显不能满足的SpringJUnit4ClassRunner requires JUnit 4.9 or higher.,于是我下载了个 JUnit-4.11,执行测试用例报Java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing这样的错误,于是想还是换个低点版本的junit4.9,执行测试用例,发现最后能正常输出日期。说明Date对象已经被Spring给注入进来了,从而验证了Spring IoC功能正常,为此,Spring的环境搭建完成。