当前页面: 开发资料首页 → Spring 专题 → 根据petclinic项目手把手教你剖析SpringFramework源代码---准备篇
摘要: 根据petclinic项目手把手教你剖析SpringFramework源代码---准备篇 根据petclinic项目手把手教你剖析SpringFramework源代码---准备篇 关键词:Sp...
根据petclinic项目手把手教你剖析SpringFramework源代码---准备篇 关键词:SpringFramework,mvc 自从用上hibernate这种o/r mapping的工具后,我就再也不想用ejb了,原来的那套以ejb为重心的j2ee设计模式,自然也不合我的口味了。在这个时候,我找到了Spring,一个轻量级的j2ee framework.从数据访问层到表示层,Spring都提供了一个很不错的解决方案。经过一段时间的研究之后,对Spring终于有所了解,我愿意把对SpringFramework的研究经历写下来,供大家参考。我用的开发环境是:mysql+tomcat5.0(weblogic7.0)+eclipse 其他开发环境我想应该是大同小异的。在开始研究之前,建议把spring的参考文档的第三章Beans and the ApplicationContext和第九章Web framework仔细研读一番,在研究的过程中再回头参考一下文档。 一.准备工作 1.去http://www.springframework.org/下载最新的springframework版本,我用的是1.0 M4版本。同时在http://www.springframework.org/docs/spring-reference.pdf下载最新的参考文档。顺便提一下,这个文档更新很快,短短的一个月时间,内容就从30多也窜到了90多页。 2.把spring-framework-1.0-m4\samples\下的petclinic目录copy到一个适当的地方,作为你的project目录。同时在这个新的petclinic目录下建立一个文件夹lib,把spring-framework-1.0-m4\lib下面的 "cglib-2.0-RC2.jar" "commons-collections.jar" "commons-logging.jar" "dom4j.jar" "ehcache.jar" "hibernate2.jar" "jdbc2_0-stdext.jar" "jstl.jar" "jta.jar" "log4j-1.2.8.jar" "mysql-connector-java-2.0.14-bin.jar" "odmg.jar" "spring.jar" "standard.jar" 等文件copy到这个新建的lib下面,这些是petclinic工程必须用到库。这个petclinic目录是用来构建petclinic工程用的。 3.在合适的地方建立一个目录叫spring,把spring-framework-1.0-m4下面的src目录和lib目录都copy到spring目录中。这个lib目录里,含有SpringFramework所有用到的支持库。这个spring文件夹是用来构建研究SpringFramework源代码工程用的。 4.用root用户在mysql客户端上执行\db\mysql\下的dropDB.txt和initDB.txt文件中的所有sql语句,初始化petclinic数据库。 5.用你的ide建2个项目,一个项目就是petclinic,用上面的petclinic作为你的工程目录,用petclinic下面的war作为你的web发布目录,为了方便在weblogic上发布,我把web目录改名为petclinic了。还有一个项目就是spring,用上面的spring目录作为工程目录。 6.build spring工程。如果不成功的话,检查工程所需的jar文件是不是齐全。 7.对于petclinic工程,修改\WEB-INF下面的jndi.properties文件成如下所示 # Properties file with JDBC-related settings. # Applied by PropertyPlaceholderConfigurer from "applicationContext-*.xml". # Targetted at system administrators, to avoid touching the context XML files. jdbc.driverClassName=org.gjt.mm.mysql.Driver #jdbc.url=jdbc:hsqldb:hsql://localhost:9001 jdbc.url=jdbc:mysql://localhost:3306/petclinic jdbc.username=root jdbc.password= # Property that determines the Hibernate dialect # (only applied with "applicationContext-hibernate.xml") #hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect # Property that determines the JDBC implementation of Clinic # (only applied with "applicationContext-jdbc.xml") #petclinic.jdbcImplBeanName=hsqlClinic petclinic.jdbcImplBeanName=mysqlClinic 8.对于petclinic工程,修改src下面的log4j.properties文件的log4j.appender.logfile.File条目为合适的值,例如我的是 log4j.appender.logfile.File=D:/tomcat5/webapps/petclinic.log,为了使输出信息更丰富,同时设置log4j.rootCategory=debug, stdout, logfile,这个log文件对帮助你剖析源代码非常有用。 9.build你的petclinic项目,确保你的web发布目录里面的内容正确,并且在你的服务器上发布该web application. 10.重启tomcat或者weblogic,如果控制台或者log文件中没有异常信息,就说明你的web application正确的发布了,访问http://localhost:8080/petclinic(tomcat)或者http://localhost:7001/petclinic(weblogic),点击 Find owner 超连接进入到http://localhost:8080/petclinic/findOwners.htm,在该页面进行Add Owner操作。如果成功的话,说明你的web application和mysql已经很好的连接起来了。 至此,我们的研究环境已经搭建起来了,下面我们就可以仔细的,深入研究这个项目了。 |