Spring framework
|
The Spring Framework is a layered Java/J2EE application framework based on code published in Expert One-on-One J2EE Design and Development (http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764543857.html). The Spring Framework provides a simple approach to development that does away with numerous properties files and helper classes littering the codebase.
Key features of Spring include:
- Powerful JavaBeans-based configuration management, applying Inversion-of-Control (IoC) principles. This makes wiring up applications quick and easy.
- Generic abstraction layer for database transaction management, allowing for pluggable transaction managers, and making it easy to demarcate transactions without dealing with low-level issues.
- Built-in generic strategies for JTA and a single JDBC DataSource. In contrast to plain JTA or EJB CMT, Spring's transaction support does not require J2EE environments.
- JDBC abstraction layer that offers a meaningful exception hierarchy (no more pulling vendor codes out of SQLException), simplifies error handling, and greatly reduces the amount of code programmers need to write. You'll never need to write another 'finally' block to use JDBC again. The JDBC-oriented exceptions comply with Spring's generic DAO (Data Access Object) exception hierarchy.
- Integration with Hibernate, JDO and iBATIS SQL Maps: in terms of resource holders, DAO implementation support, and transaction strategies. First-class Hibernate support with lots of IoC convenience features, addressing many typical Hibernate integration issues. All of these comply with Spring's generic transaction and DAO exception hierarchies.
- Flexible MVC web application framework, built on core Spring functionality. Developers have a high degree of control over this framework via strategy interfaces, and it accommodates multiple view technologies like JSP, FreeMarker, Velocity, Tiles, iText, and POI. Note that a Spring middle tier can easily combine with a web tier based on any other web MVC framework, like Struts, WebWork, or Tapestry.
As MVC patterns (such as Struts) often have difficulty in providing a clear framework for designing the Model part of an application, Spring's ability to work easily with such patterns means that developers can quickly refactor many unsuccessful approaches to make use of Spring's JDBC abstraction layer.
External link
- Spring Framework (http://www.springframework.org/)