spring roo cs476 aleksey bukin peter lew. what is roo? productivity tool allows for easy creation of...
TRANSCRIPT
Spring Roo
CS476Aleksey Bukin
Peter Lew
What is Roo?
• Productivity tool • Allows for easy creation of Enterprise Java applications
• Runs alongside existing projects
• Detects changes made to files, adjusts itself as necessary
What Roo is not.
• Roo is not a runtime • Roo is not an IDE plugin
• Roo is not an annotation processing library
o Java EE 6 annotations are not usedo Compatible with Java EE 5
Core Technologies
• Spring Framework • AspectJ
Spring
• Spring Framework is required by Roo • Spring Aspects - using AspectJ definition language
• Configurable dependency injection
• Other Spring projects may be included
o Spring Securityo Spring Web Flowo Maveno Java Server Pages
• User decides which Spring components to integrate
AspectJ
• Aspect Oriented Programming (AOP) framework • Inter-Type Declaration (ITD)
• Automatic Code Generation
o Interfaces o Methodso Fields
Why use Roo?
• Higher Productivity • Compatibility with existing projects
• Auto-configuration available:
o Java Persistence API (JPA)o Database backendo Dependency injection
• Integration with existing technolgies
o Spring MVC layero Google Web Toolkito HTML 5 standard
Productivity
• Code generated in separate files • Independent from project
• ITDs are referenced automatically
• Incremental approach to application-building
• Technologies and frameworks automatically added on-demand
Compatibility
• Compatible with Java EE 5 • SpringSource certified architecture
• Automatic maintenance and updates of XML, JSP files
Convenience
• Runs in background • Simple command-line interface
• Easy to add or remove
• Fail-safe, keeps track of changes made to filesystem
References
• http://www.springsource.org/spring-roo#documentation • http://www.eclipse.org/aspectj/
• http://www.springsource.org/documentation