Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Spring Roo CS476 Aleksey 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 used o 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 Security o Spring Web Flow o Maven o 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 Methods o Fields Why use Roo? • Higher Productivity • Compatibility with existing projects • Auto-configuration available: o Java Persistence API (JPA) o Database backend o Dependency injection • Integration with existing technolgies o Spring MVC layer o Google Web Toolkit o 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