Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

AppFuse 2.1 Milestone 1 Released

The AppFuse Team is pleased to announce the first milestone release of AppFuse 2.1. This release includes upgrades to all dependencies to bring them up-to-date with their latest releases. Most notable are Hibernate, Spring and Tapestry 5.

What is AppFuse?
AppFuse is an open source project and application that uses open source tools built on the Java platform to help you develop Web applications quickly and efficiently. It was originally developed to eliminate the ramp-up time found when building new web applications for customers. At its core, AppFuse is a project skeleton, similar to the one that's created by your IDE when you click through a wizard to create a new web project.

Release Details
Archetypes now include all the source for the web modules so using jetty:run and your IDE will work much smoother now. The backend is still embedded in JARs, enabling you to choose which persistence framework (Hibernate, iBATIS or JPA) you'd like to use. If you want to modify the source for that, add the core classes to your project or run appfuse:full-source.

In addition, AppFuse Light has been converted to Maven and has archetypes available. AppFuse provides archetypes for JSF, Spring MVC, Struts 2 and Tapestry 5. The light archetypes are available for these frameworks, as well as for Spring MVC + FreeMarker, Stripes and Wicket.

Other notable improvements:

Please note that this release does not contain updates to the documentation. Code generation will work, but it's likely that some content in the tutorials won't match. For example, you can use annotations (vs. XML) for dependency injection and Tapestry is a whole new framework. I'll be working on documentation over the next several weeks in preparation for Milestone 2.

AppFuse is available as several Maven archetypes. For information on creating a new project, please see the QuickStart Guide.

To learn more about AppFuse, please read Ryan Withers' Igniting your applications with AppFuse.

The 2.x series of AppFuse has a minimum requirement of the following specification versions:

  • Java Servlet 2.4 and JSP 2.0 (2.1 for JSF)
  • Java 5+

If you have questions about AppFuse, please read the FAQ or join the user mailing list. If you find bugs, please create an issue in JIRA.

Thanks to everyone for their help contributing code, writing documentation, posting to the mailing lists, and logging issues.

Posted in Java at Nov 19 2009, 07:16:36 AM MST 8 Comments
Comments:

Great news!

I was waiting long time to see new version of AppFuse :)

Cheers,
Lukasz

Posted by Lukasz on November 19, 2009 at 09:18 AM MST #

[Trackback] This post was mentioned on Twitter by planetapache: Matt Raible: AppFuse 2.1 Milestone 1 Released http://bit.ly/4obOVl

Posted by uberVU - social comments on November 19, 2009 at 11:01 AM MST #

Nice job everyone! AppFuse has been a good starting point for lots of projects, esp for rapid prototype stuff. Congrats on the release.

Jason

Posted by Jason Thrasher on November 20, 2009 at 05:41 PM MST #

it works for me, look forward M2

Posted by johnydz on November 30, 2009 at 02:43 AM MST #

I'm moving to Spring 3. Having a bit of trouble with spring security. Keep getting "The type org.springframework.security.userdetails.UsernameNotFoundException cannot be resolved. It is indirectly referenced from required .class files" even though all reference have ben properly updated. Anyway, I was just wondering if you have any thoughts on the deprecated controller hierarchy and using annotations in stead.

Posted by Marc on January 11, 2010 at 12:27 PM MST #

@Marc - The userdetails package has moved into "security.core" in many cases. Check AppFuse's upgrade to Spring Security 3 changelog for more information.

As far as annotations vs. controller hierarchy, I've moved to annotations in AppFuse Light and plan on doing the same for AppFuse in the near future (before 2.1 is released).

Posted by Matt Raible on January 11, 2010 at 12:32 PM MST #

Ok, finally got a working Spring 3. Security and moving in cxf was the biggest bit of work as I've got quite a few customizations. I'm going to have to look in optimizing security. I don't think all the customizations I made are necessary anymore.

The upshot of it all is, that I saw startup time reduce by almost 50%.

Remaining issue is that I've got my web module referencing my old core project jar as a jar reference to my local repository. Forgot how to get rid of that reference in the pom. Any suggestions on that?

Posted by Marc on January 12, 2010 at 09:50 PM MST #

Remaining issue is that I've got my web module referencing my old core project jar as a jar reference to my local repository. Forgot how to get rid of that reference in the pom. Any suggestions on that?

@Marc - if this is an AppFuse-related question, please ask it on the mailing list. Otherwise, it's just a matter of properly referencing your dependencies w/o hard-coding paths to the JAR. Setting up a repository manager like Nexus can be useful too.

Posted by Matt Raible on January 12, 2010 at 09:54 PM MST #

Post a Comment:
  • HTML Syntax: Allowed