• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

What can stand-alone Spring accomplish

 
Ranch Hand
Posts: 1209
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Authors,

Now that we have so many questions on scalability, performance etc that Spring by itself cannot lend to an application, i had this question.

If I were to ask you as to what bare-bone Spring w/o any external dependencies can achieve -

1. IOC, DI
2. MVC ( ok a servlet container is needed)
3. SpringAOP ( here am not referring to declarative security and transaction). But just AOP in general.
4...
5...

Please do add to this list.
 
author
Posts: 422
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Karthik Guru:

1. IOC, DI
2. MVC ( ok a servlet container is needed)
3. SpringAOP ( here am not referring to declarative security and transaction). But just AOP in general.
4...
5...

Please do add to this list.



When you download the Spring framework, you get the following (out of the box):

  • IoC/DI (provided by the Spring container)
  • An AOP framework
  • Declarative transactions (yes, out of the box--built on top of the AOP framework).And you can declare transactions in either XML or as annotations (currently, Commons Attributes is the only option, but Spring 1.2 should support Java 5 annotations).
  • MVC (as you noted, you still need Tomcat or some other servlet container)
  • JDBC abstraction
  • ORM integration with Hibernate, iBatis, JDO, OJB, and others (Hibernate 3 coming in Spring 1.2)
  • E-mail abstraction
  • Abstraction for scheduling using Java's Timer class or Quartz
  • JNDI abstraction
  • JMS abstraction
  • RMI abstraction -- expose your beans as remote services and wire in remote services as if they were any other POJO
  • EJB abstraction -- wire in EJBs as if they were any other POJO and access Spring managed beans from EJBs
  • JAX-RPC abstraction -- wire in web-services as if they were any other POJO and expose your POJOs as web-services
  • Hessian/Burlap abstraction -- wire in remote H/B services as if they were any other POJO and expose your POJOs as H/B services
  • HttpInvoker abstraction -- wire in remote HttpInvoker services as if they were any other POJO and expose your POJOs as HttpInvoker services. (FYI, HttpInvoker is Spring's own remoting strategy.)
  • JMX abstraction (coming in Spring 1.2) - Declaratively expose your beans as MBeans.
  • Web flow framework (coming in Spring 1.2) - Declare a flow for a web application (built upon Spring MVC).
  • Integration with JSF (via the DelegatingVariableResolver)
  • Integration with Struts
  • Integration with Tiles, JasperReports, Velocity and Freemarker (as views if you're using Spring MVC)


  • Again, all of that is "out of the box". There's very likely something I've missed, but that's an impressive list of stuff.

    Beyond "the box", you can easily add:

  • Declarative security, both web-based and at the bean-level (with Acegi)
  • Integration with Tapestry (you have to write your own Tapestry engine implementation, but it's super-simple to do--I'm not sure why they don't include it with the Spring distribution).
  • Integration with WebWork

  •  
    Karthik Guru
    Ranch Hand
    Posts: 1209
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Craig, thanks for a comprehensive list.
     
    Ranch Hand
    Posts: 8945
    Firefox Browser Spring Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    ORM integration with Hibernate, iBatis, JDO, OJB, and others (Hibernate 3 coming in Spring 1.2)



    How does spring integrate with so many ORM frameworks ? Does spring provide any Adapter API to interact or is it through some configuration file?
     
    author
    Posts: 11962
    5
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by Pradeep Bhat:
    How does spring integrate with so many ORM frameworks ? Does spring provide any Adapter API to interact or is it through some configuration file?


    The ORM chapter of the reference manual shows examples of how to use HibernateTemplate (for Hibernate) and SqlMapTemplate (for iBATIS SQL Maps) in implementing your DAO classes. The 1.1 documentation doesn't seem to cover the JdoTemplate but it's very close to the HibernateTemplate (the method signatures differ slightly but they're conceptually more or less equivalent).
     
    reply
      Bookmark Topic Watch Topic
    • New Topic