spring roo cs476 aleksey bukin peter lew. what is roo? productivity tool allows for easy creation of...

11
Spring Roo CS476 Aleksey Bukin Peter Lew

Upload: cleopatra-white

Post on 24-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

Spring Roo

CS476Aleksey Bukin

Peter Lew

Page 2: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

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

Page 3: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

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

Page 4: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

Core Technologies

• Spring Framework  • AspectJ

Page 5: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

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

Page 6: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

AspectJ

• Aspect Oriented Programming (AOP) framework • Inter-Type Declaration (ITD)

 • Automatic Code Generation

o Interfaces o Methodso Fields

Page 7: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

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

Page 8: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

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

Page 9: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

Compatibility

• Compatible with Java EE 5 • SpringSource certified architecture

 • Automatic maintenance and updates of XML, JSP files

Page 10: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

Convenience

• Runs in background • Simple command-line interface

 • Easy to add or remove

 • Fail-safe, keeps track of changes made to filesystem

Page 11: Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing

References

• http://www.springsource.org/spring-roo#documentation • http://www.eclipse.org/aspectj/

 • http://www.springsource.org/documentation