The Spring Framework has released the latest milestone on the way to a 1.0 full release.
New features:
- an abstraction of file-based resources, to replace String location properties with Resource properties
- factored-out Xml/Properties/Jdbc-BeanDefinitionReaders, working on DefaultListableBeanFactory
- support for CGLIB2 in the AOP framework (replacing CGLIB1)
- support for source-level metadata driving AOP, with a default implementation for Commons Attributes
- reworked transaction synchronization that also affects PROPAGATION_SUPPORTS
- new NativeJdbcExtractor and LobHandler mechanisms in the JDBC support
- support for iBATIS Database Layer, similar to the existing support for Hibernate and JDO
- refined remoting support for Hessian/Burlap/RMI and EJB
- support for JAX-RPC, similar to the existing support for Hessian, Burlap, and RMI
- our version of the iBATIS JPetStore, with ibatis-db for data access and alternative Spring/Struts web tiers
There are also a couple of new features regarding Hibernate support:
- support for Hibernate 2.1 (still compatible with Hibernate 2.0 as far as possible)
- new OpenSessionInViewInterceptor and OpenSessionInViewFilter
- JtaTransactionManager will now properly use ThreadLocal Sessions even with EJB CMT
Read the news at: http://www.springframework.org/index.html
See full Change Log
Download this release
-
The Spring Framework Announces New Milestone (20 messages)
- Posted by: Dion Almaer
- Posted on: January 07 2004 14:00 EST
Threaded Messages (20)
- UML Diagrams by Rodolfo de Paula on January 07 2004 15:24 EST
- The Spring Framework Announces New Milestone by Valeri Sarantchouk on January 07 2004 19:19 EST
- The Spring Framework Announces New Milestone by andy yang on January 08 2004 00:55 EST
- Congratulations by Robert Lowe on January 08 2004 02:03 EST
- congratulations by First Last on January 08 2004 17:54 EST
- congratulations by nilseu padilha on January 08 2004 20:05 EST
- Mail part of the Spring by Al Le on January 09 2004 03:17 EST
- Mail part of the Spring by Juergen Hoeller on January 09 2004 04:52 EST
-
Mail part of the Spring by Dmitriy Kopylenko on January 09 2004 08:35 EST
-
Cool features by Dickerns Israel on January 09 2004 11:30 EST
-
Cool features by Cedric Beust on January 09 2004 12:01 EST
- Cool features by Rod Johnson on January 09 2004 12:24 EST
- The Spring Miracle by Dickerns Israel on January 09 2004 02:37 EST
-
Cool features by Cedric Beust on January 09 2004 12:01 EST
-
Cool features by Dickerns Israel on January 09 2004 11:30 EST
-
Mail part of the Spring by Dmitriy Kopylenko on January 09 2004 08:35 EST
- Mail part of the Spring by Juergen Hoeller on January 09 2004 04:52 EST
- Waiting for complete documentation by Vagif Verdi on January 09 2004 13:54 EST
- Documentation by Rod Johnson on January 09 2004 14:46 EST
- Great news Rod! by Juergen Denzel on January 10 2004 07:51 EST
-
EJB docs by pravin pillai on January 10 2004 12:03 EST
- EJB docs by Rod Johnson on January 10 2004 01:25 EST
- Waiting for complete documentation by Dmitriy Kopylenko on January 09 2004 14:48 EST
- Waiting for complete documentation by Valeri Sarantchouk on January 09 2004 15:15 EST
- Documentation by Rod Johnson on January 09 2004 14:46 EST
-
UML Diagrams[ Go to top ]
- Posted by: Rodolfo de Paula
- Posted on: January 07 2004 15:24 EST
- in response to Dion Almaer
-
The Spring Framework Announces New Milestone[ Go to top ]
- Posted by: Valeri Sarantchouk
- Posted on: January 07 2004 19:19 EST
- in response to Dion Almaer
I like genius Juergen's idea of adding Spring version of web tier to
Clinton's JPetStore (and rewriting slightly other parts of it) as well as support for iBATIS for M4. -
The Spring Framework Announces New Milestone[ Go to top ]
- Posted by: andy yang
- Posted on: January 08 2004 00:55 EST
- in response to Dion Almaer
Spring Framework is a great project.I use Spring BeanFactory and webwork2 build my web application. -
Congratulations[ Go to top ]
- Posted by: Robert Lowe
- Posted on: January 08 2004 02:03 EST
- in response to Dion Almaer
I started using Spring's BeanFactory a few weeks back. It works great! Congrats to the Spring team on the new release.
Best regards,
Robert Lowe
http://RMLowe.com/ -
congratulations[ Go to top ]
- Posted by: First Last
- Posted on: January 08 2004 17:54 EST
- in response to Dion Almaer
Nice work. Look forward to playing with it. -
congratulations[ Go to top ]
- Posted by: nilseu padilha
- Posted on: January 08 2004 20:05 EST
- in response to First Last
Great job...
Congrats to Rod Johnson and his team. The complexity management is a great challenge (Not only for J2EE projects!!) and the SpringFramework succesfully addresses most of its concerns. A consistent, configurable and solid substract for interface oriented business objects are fantastic for system manutenibility!
Hoping for growing User acceptance .
Regards. -
Mail part of the Spring[ Go to top ]
- Posted by: Al Le
- Posted on: January 09 2004 03:17 EST
- in response to Dion Almaer
I was curious about how mail part of Spring is designed since it announces to have an abstraction for it. In the Javadoc I've found the *interface* MailSender which has methods with parameters of *class* SimpleMailMessage. Is it OK?
I like Spring's design very much. Haven't had a chance to use it in a real project though.
I wish you to grow the feature set but without losing the nice round design. And of course a growing user base.
--
al -
Mail part of the Spring[ Go to top ]
- Posted by: Juergen Hoeller
- Posted on: January 09 2004 04:52 EST
- in response to Al Le
Al,
First of all, thanks for your kind words on Spring!
Regarding MailSender: It abstracts the mail sending strategy, thus it is an interface. SimpleMailMessage is just a simple data-holding parameter object without any dependencies: We saw no need to design this as an interface.
Note that there is a JavaMail-specific subinterface of MailSender, namely JavaMailSender: It offers additional methods to send JavaMail MimeMessages but is still an interface to allow for easy mocking (JavaMail itself is hard to mock). Application code just needs to work with the JavaMailSender interface for MimeMessage functionality; else, MailSender is sufficient.
Generally, the MailSender abstraction is primarily intended for easier testing of application code: Simply plug a mock MailSender implementation into your object, and see if it invokes MailSender's methods correctly. A secondary benefit is to be able to use different mail implementations.
Juergen -
Mail part of the Spring[ Go to top ]
- Posted by: Dmitriy Kopylenko
- Posted on: January 09 2004 08:35 EST
- in response to Juergen Hoeller
Just want to add that Spring comes with two MailSender implementations out of the box - JavaMail implementation and implementation on top of Jason Hunter's MailMessage class that's included in http://servlets.com/cos (com.oreilly.servlet).
Dmitriy,
Springframework developer. -
Cool features[ Go to top ]
- Posted by: Dickerns Israel
- Posted on: January 09 2004 11:30 EST
- in response to Dmitriy Kopylenko
Spring has some great features. One of the coolest feature is the declarative tx demarcation, which IMHO, is better and more flexible the EJB's CMT and that allows you to apply transaction to any POJO. No EJB container is required!!!The support for Hibernate is awesome.
One other thing is Spring is not an MVC framework, it is a complete J2EE framework that addresses all tiers: presentation with Spring MVC, persistence with Hibernate support, JDO, iBATIS and its own Spring JDBC framework, AOP-based business functionalities, declarative TX etc ...
If you are working on a project and you want a J2EE framework that will help streamline the development process, Spring is the ideal solution. Likewise, if you are frustrated with your current framework, you make the switch to Spring.
There might be a need for you to use all of spring. For instance, if you are using struts MVC, you can still leverage spring's business functionalities.
As far as MVC, IMHO, Spring MVC is the best implementation I have seen. I have used Struts for over two years and it gets the job done but Spring is much better. If you are not convinced, download spring and try it. Look at the samples apps: JPetStore, PetClinic. For the struts followers who cannot live without Tiles, I want to say that Springs integrates well with Tiles. In fact, there is a Tiles sample available.
To the Spring team, keep up the good work!!! -
Cool features[ Go to top ]
- Posted by: Cedric Beust
- Posted on: January 09 2004 12:01 EST
- in response to Dickerns Israel
Spring has some great features. One of the coolest feature is the declarative tx demarcation, which IMHO, is better and more flexible the EJB's CMT and that allows you to apply transaction to any POJO.
Can you elaborate on how it's better than CMP? (you don't need a framework to apply transactions to POJO's)
One other thing is Spring is not an MVC framework, it is a complete J2EE framework
I don't mean to remove any credit to Spring, but you can't call it a J2EE framework, it is misleading. Spring hardly has anything to do with J2EE.
--
Cedric -
Cool features[ Go to top ]
- Posted by: Rod Johnson
- Posted on: January 09 2004 12:24 EST
- in response to Cedric Beust
Cedric,
<dickerns>Spring has some great features. One of the coolest feature is the declarative tx demarcation, which IMHO, is better and more flexible the EJB's CMT and that allows you to apply transaction to any POJO.</dickerns>
<cedric>Can you elaborate on how it's better than CMP? (you don't need a framework to apply transactions to POJO's) </cedric>
How to you do declarative transactions to POJOs without a framework, even if you build the framework yourself?
Key differences between Spring declarative transactions and EJB CMT:
- can be applied to any POJO
- can use a variety of underlying transaction infrastructures through the same Spring abstraction. E.g. scale up from using JDBC or Hibernate transactions against a single database to using JTA in WebLogic or another high-end server without forcing changes to Java code
- more flexible. Unlike EJB, which applies a fixed strategy for what causes automatic rollback ("system exceptions"), it's possible to configure declarative "rollback rules": e.g. rollback on MyCheckedException and subclasses with no need for setRollbackOnly(). The default behaviour is rollback on anything except checked exceptions, so it's similar to CMT out of the box.
- support for declarative transactions driven by source-level metadata as in .NET. Currently we use Commons Attributes but will offer JSR-175 support as soon as it's mature. (Can't wait.)
I don't mean to remove any credit to Spring, but you can't call it a J2EE framework, it is misleading. Spring hardly has anything to do with J2EE.
People typically use Spring to implement J2EE applications. It integrates with key parts of J2EE such as JTA and the Servlet API. Also it provides support for implementing and invoking EJBs, using JavaMail etc. So it's certainly J2EE-oriented, so calling it "a J2EE framework" is hardly misleading. (Nevertheless, perhaps a more accurate phrase would be "J2EE-oriented Java application framework," to make it clear that it offers a lot of value in non-J2EE environments also). Certainly it's wrong to say Spring has "nothing to do with J2EE". Many Spring users (including me much of the time) are happily using your J2EE product...
While Spring features such as declarative transaction management are alternatives to EJB, EJB is only one part of J2EE. Spring helps to make lots of parts of J2EE easier to use, rather than aims to replace them.
Regards,
Rod -
The Spring Miracle[ Go to top ]
- Posted by: Dickerns Israel
- Posted on: January 09 2004 14:37 EST
- in response to Cedric Beust
Can you elaborate on how it's better than CMT?
See Rod's response. Spring's declarative TX is more flexible. See this URL to see what I mean: http://www.springframework.org/docs/wiki/Spring_AOP_with_Hibernate.html
You can declaratively specify on which exceptions you want the transaction to fail and which exceptions you want the transaction to complete anyway.
>One other thing is Spring is not an MVC framework, it is a complete J2EE framework
I meant to say Spring is not just an MVC framework similar to Struts but a complete framework which addresses business logic, persistence etc... It offers declarative TX similar to EJB CMT, persistence via Spring JDBC and excellent support for Hibernate, JDO and iBATIS and many other features. I like Rod's terminology for what I was trying to convey: J2EE-oriented framework. -
Waiting for complete documentation[ Go to top ]
- Posted by: Vagif Verdi
- Posted on: January 09 2004 13:54 EST
- in response to Dion Almaer
Great news ! I want to thank Spring team for fantastic framework they are developing. I'm going to use it in my new J2EE project along with Hibernate.
The only thing which is still not there and is very important for me - documentation. Or maybe a book about Spring. The problem is - i'm not the only developer in that project. And convinsing team of developers give up on their homegrown framework in favor of Spring without easy migration path (documentation, developers guide, users guide, documented samples) is hard. -
Documentation[ Go to top ]
- Posted by: Rod Johnson
- Posted on: January 09 2004 14:46 EST
- in response to Vagif Verdi
I spent this afternoon writing documentation for the AOP framework, as it happens. Documentation is the priority from now till RC1 and 1.0 final next month, for myself and other developers; the current M4 is feature-complete except for a couple of minor things planned. The samples are much improved in M4, and we already have an additional sample app that will ship with RC1 showing some new JDBC features.
Two publishers have approached us about a Spring book, and we're currently working on the structure. That book is likely to appear in Q3 this year. My sequel to Expert One-on-One J2EE (co-authored with Juergen) will be out in May, and will contain a lot of Spring content.
Regards,
Rod -
Great news Rod![ Go to top ]
- Posted by: Juergen Denzel
- Posted on: January 10 2004 07:51 EST
- in response to Rod Johnson
That is really great news. I am looking forward to your new book(s).
J2EE Design and Development is really outstanding, a pleasure to read and
in general a great source of inspiration for any Java Developer.
We are planning to use Spring in conjunction with Hibernate on an upcoming
e-Procurement project in our company.
I think currently the only weak point is the documentation, especially the AOP stuff. Great to hear that this issue will be addressed until the final 1.0 release.
Juergen Denzel -
EJB docs[ Go to top ]
- Posted by: pravin pillai
- Posted on: January 10 2004 12:03 EST
- in response to Rod Johnson
I noticed that the reference documentation does not have a section on EJBs. Will that be included or have u decided to leave EJBs out of the docs. -
EJB docs[ Go to top ]
- Posted by: Rod Johnson
- Posted on: January 10 2004 13:25 EST
- in response to pravin pillai
I added a major section on using Spring to help implement and access EJB in the latest outline, last week :-) I think the codeless EJB access feature is pretty cool. We should complete the content for it in the next couple of weeks. -
Waiting for complete documentation[ Go to top ]
- Posted by: Dmitriy Kopylenko
- Posted on: January 09 2004 14:48 EST
- in response to Vagif Verdi
The only thing which is still not there and is very important for me - documentation.
Vagif,
the Spring reference documentation is _work in progress_ right now and is a top priority for 1.0RC1 and 1.0 final releases.
Regards,
Dmitriy. -
Waiting for complete documentation[ Go to top ]
- Posted by: Valeri Sarantchouk
- Posted on: January 09 2004 15:15 EST
- in response to Vagif Verdi
convinsing team of developers give up on their homegrown framework in favor of
Spring without easy migration path (documentation, developers guide, users guide, documented samples) is hard.
Meanwhile...
- there is quite convincing into article;
- tutorial that covers all initial steps of building a webapp;
- three well documented samples (Countries, JPetStore, PetClinic) in the samples directory of the m4 distribution. Take a particular look at JPetStore sample - it has two implementations of the web tier, for both Struts and Spring frameworks, which allows anyone familiar with Struts compare the configuration and other differences.
Regards,
Valeri