对于spring内部各模块的jar包依赖关系可以通过eclipse的maven插件的dependency hierarchy视图进行形象地查看。下图就列举了3.0.5版本一些重要jar包之间的依赖关系:
上一篇文章提到的关于同一框架多jar包配置的最佳实践中提到,如果工程中使用到了多个spring的jar包,最好全部声明出来,不要试图通过spring内部的包依赖关系自动解析,而在pom中省去一些包的依赖声明,这有可能会导致其他包的版本变得不确定。以下是从spring官网上摘录的一份spring全配置参照:
3.0.5.RELEASE org.springframework spring-core ${org.springframework.version} org.springframework spring-expression ${org.springframework.version} org.springframework spring-beans ${org.springframework.version} org.springframework spring-aop ${org.springframework.version} org.springframework spring-context ${org.springframework.version} org.springframework spring-context-support ${org.springframework.version} org.springframework spring-tx ${org.springframework.version} org.springframework spring-jdbc ${org.springframework.version} org.springframework spring-orm ${org.springframework.version} org.springframework spring-oxm ${org.springframework.version} org.springframework spring-web ${org.springframework.version} org.springframework spring-webmvc ${org.springframework.version} org.springframework spring-webmvc-portlet ${org.springframework.version} org.springframework spring-test ${org.springframework.version} test