Spring Roo
Instant Results - Making Java Fun
Spring Roo is a lightweight developer tool that makes it fast and easy to deliver instant results. Best of all, you code 100% in Java and get to reuse all your existing Java knowledge, skills and experience. You'll like it - and have plenty of fun too! Read how TomTom cut development time in half using Spring Roo.
Download the book by Josh Long and Steve Mayzak called Getting Started with Roo. You can also purchase it as a print-on-demand book or in alternative formats from the O'Reilly web site.
Ken Rimple and Srini Penchikala have also written the definitive Roo reference book called Spring Roo in Action available for purchase from Manning Publications.
Exciting Features - GWT. Solr. Cloud. Flex...
MVC applications with JPA are a breeze with Roo, but it also eases your journey into the next generation of technology. We already support cool features like Google Web Toolkit (GWT) for advanced next-generation user interfaces, Solr for search server integration and cloud deployment like Google App Engine. Plus we have incremental database introspection, Flex, Spring Integration and much more actively in development.
SpringSource and Google are working together to combine the speed of development of Spring Roo with the power of the Google Web Toolkit (GWT) to build rich browser apps. Try out the exciting GWT and Google App Engine support now available from Spring Roo 1.1.
Zero Risks - Productivity Without Compromise
With Roo you still program everything in Java. Its innovative approach operates entirely at compile-time and is completely compatible with your IDE. Plus because there's no runtime portion, adoption is also simplified and low risk. All your Java developers will feel comfortable and be productive from day one. Roo really represents productivity without compromise.
Why Spring Roo?
Spring Roo is a next-generation rapid application development tool for Java developers. With Roo you can easily build full Java applications in minutes. It differs from other productivity tools by focusing on:
|
|
Technology Integrations
Roo gives you easy and immediate access to all of the mainstream Java technologies important to building sophisticated enterprise applications. Here's just some of the technologies that Roo-based projects can instantly leverage (plus there's plenty more supported by third-party add-ons, or you can write your own add-on):
|
|
|
Productivity Without Compromise
Roo's innovative approach is free of any compromises:
- Program in Java!
- Full IDE support (with features like code assist, refactoring and debugging)
- No runtime portion, which means easier adoption in enterprise with approval requirements
- Excellent runtime performance, as there's no runtime memory usage, deployment footprint, control flow invocation time etc
- Lower risk of bugs impacting your project, as Roo operates entirely at development time (just like your IDE)
- No lock-in to Roo, as you can remove it from your project in just minutes
- Easy extensibility to new features thanks to OSGi-based add-on extensibility
- We could go on, but you get the point: Roo doesn't make you compromise (ever) :-)
How It Works
In a nutshell, Roo is a lightweight console shell that you load up while developing your projects. While the Roo shell can be used to complete time-consuming operations in just one quick command, most of the time you'll just ignore Roo and go off and develop your project in your IDE or text editor.
As you go about editing code in your normal way, Roo keeps an eye on your project files and automatically modifies them in response to your actions. Depending on the Roo add-ons you have running, Roo can help you with different types of files. For example, Roo's JPA add-on means you can write an incredibly simple Hello.java file that looks like this:
@RooJpaActiveRecord public class Hello { private String world; }
You might wondering what good is a Java class that only has a single private field. Well, not much. But Roo fixes that by using the compiler's "mixins" feature to add extra goodies into the .class files at compile-time (not runtime). This means the Hello.class actually contains a large number of useful members, none of which you had to go to the trouble of writing - or maintaining, debugging and testing - yourself:
public class Hello { private String world {..} public String getWorld() {..} public void setWorld(String world) {..} public Long getId() {..} public void setId(Long id) {..} public Integer getVersion() {..} public void setVersion(Integer version) {..} public String toString() {..} public void persist() {..} public void remove() {..} public void flush() {..} public static Long countHellos() {..} public static Hello findHello(Long id) {..} public static List findAllHellos() {..} public static List findHelloEntries(int start, int…
Feature Tour
|
Spring enables you to focus on your business problem rather than the plumbing that connects components and systems. Take a tour of Spring’s key features from the core framework to infrastructure and data services and learn how to build, run and manage your modern Java applications. Getting started is easy and you can do it now. |
![]() |
Spring Framework Features
The Spring Framework helps you build Java Applications faster because it allows you to focus on your business problem rather than the plumbing code that connects components and systems. The features of Spring include:
|
Complete support for modern applications including REST, HTML 5, conversations and AJAX. |
Supports traditional RDBMS as well as new NoSQL solutions, map-reduce frameworks and cloud based data services. |
Enterprise orchestration and adapters for distributed applications, asynchronous message-based applications, and batch applications. |
|
Web support for mobile client platforms including Android and iPhone. |
Integration with Facebook, Twitter, LinkedIn, and other prominent social networks. |
Authorization control for all tiers and authentication integration to dozens of providers. |
|
Spring applications are supported on all popular cloud platforms like Cloud Foundry, Google App Engine and Amazon EC2. |
Spring Key Benefits
![]() Modularity Plain old Java Objects keep your code concise, simple and modular |
![]() Productivity Over 70% of developers report productivity gains and reduction in time to deploy with Spring |
![]() Portability Applications run on Tomcat, all Java EE servers as well as cloud platforms |
![]() Testability Cleanly expressed dependencies make unit and integration testing easier |
Get Started With Spring
Spring provides an incredibly powerful and flexible collection of technologies to improve your enterprise Java application development that is used by millions of developers. It is easy to get started by using our free development tool, Spring Tool Suite, or following one of the many tutorials. If you have specific questions then you can ask them in the community forum, look for a solution in our extensive code samples or search the outstanding Spring documentation.
Start a TutorialIf you are new to Spring or need to learn about a new feature, our tutorials explain key concepts simply and provide step by step instructions on how to accomplish specific tasks. With screencasts, example code and expert tips, you can master Spring at your own pace. |
Grab a Code SampleSpring code samples give you precise code that you can use directly in your applications. Samples written by the Spring experts and make sure that your applications are the following best practices. |
Read the DocumentationSpring documentation covers every aspect of the platform in exacting detail. If you need to find specific information about the APIs or understand how Spring works internally, then search through our comprehensive and deep technical publications. |
||
Ask a Question (Forums)Have a question? The Spring forums are a vibrant resource with thousands of users asking and answering questions every day. |
Take a Class (Training)SpringSource University is your ultimate source for developer-focused education. You can take our open-source classes in a classroom setting or live, online to get a better understanding of the Spring Framework, Apache Tomcat and other open source projects and get Spring Certified. |
Video InstructionThe SpringSourceDev YouTube channel provides a complete video archive of Spring presentations and technical screencasts. These recordings by Spring experts give you development guides and tips for all skill levels. |





