解决问题(八)——jsf+spring+hibernate整合(二)

 用MyEclipse进行Web 框架的整合很方便,但是有的时候太方便也会起反作用。在一本讲框架的书上看到一句话觉得很有道理(书和作者不及得了) —— IDE工具会极大的提高高手的工作效率,但也会让入门者变得白痴。

所以就像对框架的整合进行一下研究,自己动手来搭。当然我觉得也没有必要完全抛弃IDE,合理的使用还是不错的。

我首先想研究的就是集成所需要的jar包,用MyEclipse集成,会拷贝很多jar包在lib下面,就算不是全部选项都选上,拷贝的jar包数目也不小,大小就更不用说了。以下就说说我的一点心得,考虑和测试还不周全,之后还会完善


1)数据库的Driver可定不用说了,我用的数据库是SQL Server 2000
msbase.jar
mssqlserver.jar
msutil.jar


2)jsf——jsf-1_2_05.zip
jsf-api.jar
jsf-impl.jar

下载地址:https://javaserverfaces.dev.java.net/download.html

还会用到jstl
jstl-1.2.jar
下载地址:https://maven-repository.dev.java.net/nonav/repository/

当然要想和Spring集成还需要——jsf-spring-4.0.3.zip
jsf-spring.jar
下载地址:http://sourceforge.net/project/showfiles.php?group_id=107519

如果用MyEclipse添加JSF之后,会发现有个j2ee的包,这个包在GlassFish的安装路径下面有,不过好像不需要这么麻烦。
我添加了一个servlet-api.jar肯能还会有其他的,这些在下载的spring的压缩包下的/lib/j2ee里面包含了。

3)Spring——spring-framework-2.0.7-with-dependencies.zip
下载地址:http://www.springframework.org/download
Spring的各个模块都有独立的包,也有一个整合好的spring.jar在/dist下面。如果懒得选用这个就行了。

spring带的log4j-1.2.14.jar比hibernate的带的log4j新一些,我用的是spring的。

再有就是/jakarta-commons下面的包。很多包都会被spring 和 hibernate引用到,而且这些包中的类本身还是很有用处的工具类,建议都拷贝过来.commons-attributes-compiler.jar和commons-attributes-api.jar如果没有配置junit或者ant应该用不着的。

antlr-2.7.6.jar,可以在Spring的包中找到,如果没有会有以下错误:

java.lang.NoClassDefFoundError: antlr/ANTLRException

最后还要有cglib-nodep-2.1.3.jar要不会有类似下面的错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
Caused by:
java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter


4)hibernate——hibernate-3.2.5.ga.zip
下载地址:http://www.hibernate.org/6.html
在压缩包的根目录下面找到hibernate3.jar,hibernate的全部功能应该就有了。

因为hibernate的配置文件使用dom解析的,所以还要有dom4j.jar,这个是必须的.

hibernate里面还引用到了jta.jar里面的类,所以还要包扩这个包,要不会有下面的错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
Caused by:
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager

在hibernate的说明文件中,认为如果没有设置其他的具有缓存功能的包,那要求有ehcache-1.2.3.jar

还有两个必须的包commons-collections-2.1.1.jar 和commons-logging-1.0.4.jar,因为在spring的/jakarta-commons中都包括了,就不用在拷贝一次,而且spring的还新一些。

暂时就这么多了,如果还有什么以后再补充。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码匠君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值