views:

183

answers:

1

I am starting on Springsource using Spring Roo.

Q1. Am I correct to say that Spring Roo automates a lot of tedium out of Spring?

I am asking that because when I follow non-roo tutorials on Spring, I am reading that I have to perform a significant amount of configuration and stubs which would have been done by roo. I don't see why, prior to roo, would Spring help reduce my work load.

Q2. Is it necessary to define entities using the namespace ~.domain.whatever. Is it necessary to have "domain"? Can I do

entity --class ~.profile.PostalAddress

? Is Spring sensitive to the word "domain"?

Q3. I would like to define an entity

Employee { long id, string name, string project, date startdate}

I would like to bind Employee to a presentation panel where

  • id is a hidden field,
  • name is displayed non-editable field,
  • project is displayed editable field populated with the current value in the db,
  • startdate is not even sent to the browser.

How do I accomplish that in Roo? If I cannot do that in Roo, is there a way I could muck around with the Spring generated innards to accomplish it and how easy would it be?

Q4. Spring roo generates a standard template web interface. But I do not wish to use the interface. I just want roo to generate RESTful panels for me, which I could associate with a GWT menu item.

The reason is I need to use GWT/SmartGWT navigation widgets and when the appropriate data manipulation item is called thro gwt/smartgwt, I would like to call/enable that Spring generated data panel RESTfully.

How do I get roo, or subsequently Spring, to generate a RESTful data panel for each of my entity without using Spring or roo's generated (useless/unattractive) default navigation side panes? Would I have to manually modify those roo generated files? If so, how and what?

In short, I want to use the convenience of roo's help in generating lots of presentation-validation-model bound modules but use my own GWT/Smart GWT to navigate to them. I am NOT asking about roo+gwt.

+1  A: 

Q1: It is true that prior to Roo you would have to write quite a few configuration files for a Spring application. However, without Spring you would have to write even more configuration and, worse, Java code to glue it all together.

Q2: Roo is agnostic of the word "domain". You can call your packages any way you want. Personally I prefer the sub-package "model" for domain classes.

Can't say anything about Q3 and Q4, sorry.

Philipp Jardas