Have you tried Spring Roo?
Spring Roo 1.0.0.RC2 is released lately by Spring Source.
From Spring Source:
Spring Roo provides interactive, lightweight (4 Mb download!), user customizable tooling that enables rapid delivery of high performance enterprise Java applications. Spring Roo today offers the following features (and we’re actively working on more right now):
- Working applications within 10 minutes of finishing the download (watch video)
- 100% Java programming, offering developers a familiar, mature and mainstream programming platform
- Transparent, reliable and productive IDE services like code assist, debuggers, visual error reporting etc
- Extremely efficient runtime performance, type safety and zero runtime dependencies on Roo
- Zero lock-in and dependence on Roo (optionally jump-start your project then remove it in ~4 clicks!)
- Automatic, best practice Spring Framework 3 application architectures
- Maven 2-based project structures
- JPA-based persistence (eg via Hibernate) and with 100% JPA compliance and implementation portability
- Inbuilt database configuration support, with automatic JDBC configuration for most popular databases
- Transparent dependency injection and persistence methods for all entities, including those retrieved via JPA
- Bean Validation (JSR 303) support, including propagation of the constraints down to database DDL
- Automated JUnit integration tests that build on Spring Framework’s integration test features
- An automated RESTful application backend
- Automated Selenium tests of your web tier
- Dynamically creating finders on your entities, producing robust JPA QL finder methods without any coding
- Spring Security integration, including web URL security and one-line (“install security”) installation
- Spring Web Flow one-line (“install web flow”) installation services
- Instant email sending support – even via remote SMTP servers like GMail
- Inbuilt Log4J configuration support
- URL rewriting that keeps the URLs clean and RESTful
- Easy manual web controller creation
- Round-trip support that sustains higher productivity over the full application lifecycle
- Embedded Tomcat server container usage
- Full Eclipse and SpringSource Tool Suite integration
- An easy-to-use, tab-completing, hint-providing, contextually-aware command line shell
- Scripting support (try out the Roo samples by typing commands like “script clinic.roo”)
I played with it for fun. I created a few projects and tried to use some different and interesting features.
I must admit that I like it
It is very promosing and easy to use. I am planning to start my next project with Roo.
I was thinking to add some screenhots to describe how I used Roo etc. But Spring Source (actually Ben Alex) did it all already. I think it is best if I provide you all necessary links to check.
Firstly you should check these pages:
- Spring Roo homepage
- Ben Alex’s super blog page about Roo part-1
- Ben Alex’s super blog page about Roo part-2
- Ben Alex’s super blog page about Roo part-3
- Kevin’s blog about Roo and Eclipse
- Craig Walls blog about Roo
- Spring Roo vs Skyway Builder
Recommended Readings:
-
Pro Spring 2.5
-
Spring in Action
-
Pro Spring Dynamic Modules for OSGi™ Service Platforms
-
Spring Web Flow 2 Web Development
-
Spring Recipes: A Problem-Solution Approach (Books for Professionals by Professionals)


November 3, 2009 - 12:08 am
Hello from Russia!
Can I quote a post “No teme” in your blog with the link to you?
November 3, 2009 - 9:14 am
sure
May 25, 2010 - 10:18 am
Hi,
I try to create my test application with ROO.
When I use HYPERSONIC_IN_MEMORY DB – application work right.
When I use ORACLE DB – application doesn’t work at all.
I can’t view and insert rows.
I use next scripts to create my example:
Example HYPERSONIC_IN_MEMORY DB:
[CODE]
project –topLevelPackage com.springsource.roo.accHyp
persistence setup –provider HIBERNATE –database HYPERSONIC_IN_MEMORY
entity –class ~.domain.Account –testAutomatically
field number –fieldName branchid –notNull –type java.lang.Integer
field string –fieldName acc –notNull –sizeMin 6
perform tests
controller all –package ~.web
perform eclipse
exit
[/CODE]
Example Oracle DB:
[CODE]
project –topLevelPackage com.springsource.roo.accOra
persistence setup –provider HIBERNATE –database ORACLE –databaseName zoo –userName 17001 –password 1
entity –class ~.domain.Account –testAutomatically
field number –fieldName branchid –notNull –type java.lang.Integer
field string –fieldName acc –notNull –sizeMin 6
perform tests
controller all –package ~.web
perform eclipse
exit
[/CODE]
I use
Spring Roo 1.0.2.RELEASE [rev 638]
Spring Roo 1.1.0.M1 [rev 3a0b8a3]
with practilally the same results.
How to make my oracle application works???
Paul
May 25, 2010 - 10:40 am
Hi Paul,
I have’t used Oracle with Roo, so I don’t know the answer but I googled it a bit.
do you get any error/exception?
Please check this: http://forum.springsource.org/showthread.php?t=87158
May 25, 2010 - 12:52 pm
Thank you for replay! Can you try this example with mysql:
project –topLevelPackage com.springsource.roo.accMySql
persistence setup –provider HIBERNATE –database MYSQL –userName root –password rjynhelfh
database properties set –key database.url –value jdbc:mysql://beta:3306/ventustest
database properties list
entity –class ~.domain.Account –testAutomatically
field number –fieldName branchid –notNull –type java.lang.Integer
field string –fieldName acc –notNull –sizeMin 6
logging setup –level DEBUG
perform tests
controller all –package ~.web
perform eclipse
exit
May 25, 2010 - 3:48 pm
Hi Paul,
You need to use:
entity –name ~.domain.Account –testAutomatically
instead of:
entity –class ~.domain.Account –testAutomatically