上面碰到的问题,我只能在网上找答案,完全照抄了这个链接的文章来试我的项目
http://mactruecolor.blogspot.com/2009/10/hibernate3-maven-pluginspring.html
不过这个链接经常访问不了,可能是被墙了吧。
我还参考了: http://techkriti.wordpress.com/2007/06/28/maven2-hibernate-plugin-and-spring/ 里面提到的maven和plexus 的关系,对理解这个改造过程很有用
把这个过程在这里再记一次下来。
在hibernate3这个插件里面,有一AnnotationComponentConfiguration,我们继承一下它,来读取sessionFactory那个bean
1.新建一个 maven项目
该项目是为了生成一个Component(maven的是用plexus的component来做IOC注入的), 这个component(叫部件?)用来注入到hibernate3中以读取applicationContext.xml
1.1 pom.xml 如下
1.3 项目中创建一个SpringComponentConfiguration类, 这个类改写了AnnotationComponentConfiguration的createConfiguration()方法,就在里面去读applicationContext.xml的sessionFactory那个bean
1.4 SpringComponentConfiguration用到了ThreadLocalConnectionProvider是管理datasource的,代码如下
1.5 ThreadLocalHolder类是上面用到的
1.6 创建项目的src/main/resources/META-INF/plexus/components.xml文件如下
**注意<role-hine>与1.3步那个类的getName返回值相同
1.7 鼠标右键项目, runas / maven install将这个component安装到本地库。
这样这个component就完成了。