View
55
Download
0
Category
Tags:
Preview:
DESCRIPTION
Spring Roo. By Rohit Ghatol rohitsghatol@gmail.com. What?. Why ?. How ?. What is Roo?. Version 1.2. Spring Roo. Tool. Rapid App Development. High Quality. No Lock In. Java. Spring. JPA. Setting Expectations Right?. Maven. JSP. GWT. Flex. Unlike Others Spring Roo is not. - PowerPoint PPT Presentation
Citation preview
Spring Roo
By Rohit Ghatolrohitsghatol@gmail.com
What?
Why?
How?
What is Roo?
Version 1.2
No Lock In
High Quality
Rapid App Development
Tool
Spring Roo
Setting Expectations Right?
Java SpringJPA
MavenJSP
GWTFlex
Spring Roo
Runtime Library IDE Plugin Annotatins
Unlike Others Spring Roo is not
What does roo look like?
10 minute Test
Step 1: Create Roo Project
Step 2: Setup Persistence Layer
Step 3: Declare Entities
Step 4: Add Fields
Step 5: Build Project
Step 6: Browse Project
Spring Roo Projects are Maven Project
Step 7: Generate Web App Scaffoldng
Step 8: Deploy
Step 9: Create Selenium Test Cases
Step 10: Test UI
Why Spring Roo?
Shell/Command Based
Has a Context and this is Better than any Wizard
Active Code Generation
Lets add one more field to Employee, and see what happens?
Domain Driven Design
All Source Code is there
No Runtime as we said earlier
Add your own Plugins
Create Organization wide plugins or make them OpenSource
TypicalSecurity Plugin
Typical = ConvensionWhat all of us do most of time
Install Plugin on Roo Shell
osgi start --url http://spring-roo-addon-typical-security.googlecode.com/files/com.xsoftwarelabs.spring.roo.addon.typicalsecurity-0.1.5.BUILD-SNAPSHOT.jar
Run TypicalSecurity• project --topLevelPackage com.testproject2 --projectName
TestProject2
• //Typical Security Addon needs persistence, other wise it doesn't show itself
• persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
• Usage
• //Run the TypicalSecurity setup addon in default mode• typicalsecurity setup
What do we get?
• User Role Model classes• Sign up – With Captcha• Activation Email• Forgot Password
How to?
Adding Security
Adding Finders
Adding Custom Controller
Adding Custom Controller
Conclusion
• Use Roo for – Database Modeling Stage– Rapid Prototyping
• Remove Roo if– After prototyping you want a simple Java Project– Recommended keep things for reactive scaffolding
• Build Organization wise/Feature wise Addon– Add Ons are very powerful– Any Project can use it (as long as at the beginning
they are Spring Roo)
Recommended