I’ve been reading up a little on the Spring Framework, which seems very impressive. It can be used in several tiers of a typical web application, and depending on where it is used it either cooperates or competes with other established frameworks. For example, Spring comes with its own MVC imlementation that competes with Apache Struts and addresses several of Struts’ shortcomings. On the other hand, Spring’s container framework can be used to build a business tier in conjunction with another front-end technology, such as Struts (for example as an alternative to more heavyweight J2EE solutions such as EJB).
For a new application, it seems like it would definitely be worth checking out Spring as an alternative to Struts and other frameworks, as it appears to offer a nice balance between full-featuredness and ease of use.