搞Java企业级应用的人都知道Spring是个好东西,记得这玩意1.0出来的时候,有人甚至说“有了Spring,架构师就可以下岗了”。当然,Spring不是上帝,它提供的只是一套优雅的框架(Framework)。
这套框架以依赖注入(Dependency Injection)控制反转(IOC,Inversion of Control)和面向切面编程(AOP,Aspect Oriented Programming)为核心思想。前者以Spring bean配置的方式来划分应用中服务的层次,并对各个应用模块及业务逻辑的松散耦合、甚至解耦合提供了完美的支持;而后者在日志、监控管理,特别是事务管理方面为开发者提供了一套极为轻便、灵活,而且有效的架构——我们只需要站在程序的横切面角度去配置一些“拦截”、“代理”就可以轻松的解决上述问题,而不需要去关注线性的程序结构、甚至不需要去修改一行代码,真正做到无任何“伤筋动骨”的为我们的应用去添加、变更、去除这些诸如日志、监控、事务等的功能。
同时,Spring也一贯本着“不重复发明轮子”的基本指导思想,在其内集成或封装了大量的开源项目,而且这些开源项目都是经过精心挑选的,至少在其领域内是具有实用价值的。这包括著名的ORM框架Hibernate,任务调度引擎Apache Quartz,以及JMS、JMX这些Java标准……
那么,如果你想试用和了解Spring2的强大功能和技术架构,我认为在Tomcat上运行一下它的范例项目petclinic(宠物医院)是个不错的选择。
首先,你可以在Spring2完整发布版的samples目录下发现这个项目。我喜欢把项目导入到Eclipse中运行,这样可以很方便的随时跟踪和学习源代