The Spring Framework Announces New Milestone

Discussions

News: The Spring Framework Announces New Milestone

  1. The Spring Framework Announces New Milestone (20 messages)

    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

    Threaded Messages (20)

  2. UML Diagrams[ Go to top ]

    Enjoy it :

    http://opensource.objectsbydesign.com

    ;)
  3. 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.
  4. Spring Framework is a great project.I use Spring BeanFactory and webwork2 build my web application.
  5. Congratulations[ Go to top ]

    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/
  6. congratulations[ Go to top ]

    Nice work. Look forward to playing with it.
  7. congratulations[ Go to top ]

    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.
  8. Mail part of the Spring[ Go to top ]

    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
  9. Mail part of the Spring[ Go to top ]

    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
  10. Mail part of the Spring[ Go to top ]

    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.
  11. Cool features[ Go to top ]

    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!!!
  12. Cool features[ Go to top ]


    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
  13. Cool features[ Go to top ]

    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
  14. The Spring Miracle[ Go to top ]

    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.
  15. Waiting for complete documentation[ Go to top ]

    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.
  16. Documentation[ Go to top ]

    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
  17. Great news Rod![ Go to top ]

    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
  18. EJB docs[ Go to top ]

    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.
  19. EJB docs[ Go to top ]

    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.
  20. 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.
  21. 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