We are pleased to announce that
Spring
Framework 1.0 final
has just been released.
1. SCOPE
Spring 1.0 is a complete Java/J2EE application framework, covering the
following functionality:
- the most sophisticated lightweight
container available today, with various flavors of setter and
constructor injection
- AOP interception framework based on
the AOP Alliance interfaces, integrated with the core container
- JNDI support classes, allowing for
easy wiring of Spring-managed beans with JNDI-located objects
- application context concept,
providing resource loading and message access abstractions
- generic transaction management with
pluggable strategies, supporting declarative and programmatic
demarcation
- support for source-level metadata,
with Commons Attributes as default implementation (e.g. for transaction
attributes)
- generic DAO support, providing a
generic data access exception hierarchy for use with any data access
strategy
- JDBC abstraction that simplifies
resource and error handling, also covering BLOB/CLOB support
- Hibernate support, providing
SessionFactory management and transaction-scoped ThreadLocal Sessions
- support classes for JDO 1.0 and
iBATIS SQL Maps 1.3/2.0, integrated with Spring's transaction
management
- mail sender abstraction, with
special support for JavaMail including convenient handling of file
attachments
- scheduling support for Quartz and
Timer, making it easy to invoke methods of Spring-managed beans
- remoting support for RMI, JAX-RPC
and Caucho's Hessian/Burlap, for easy exposure of Spring-managed beans
- convenience classes for accessing
and implementing EJBs, both local and remote
- web application context, for
loading a Spring application context in a web environment
- flexible web MVC framework, built
on strategy interfaces and integrated with various view technologies
A unique benefit of
Spring is the ability to apply
declarative
transactions to any POJO, with JTA or a local transaction strategy:
This allows to have lightweight transactional business objects in any
sort of environment, for example in a web app running on plain Tomcat.
Spring's transaction management is also capable of managing associated
resources like Hibernate Sessions, avoiding the burden of custom
ThreadLocal Sessions.