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.


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 Light 1.8.1 Released: includes upgrades to Spring 2.5 and Wicket 1.3

AppFuse Light 1.8.1 is a bug fixes release that includes an upgrade to Spring 2.5 and Wicket 1.3 RC1. See the Release Notes for more information on what's changed since the last release.

What is AppFuse Light? Click here to find out.

AppFuse Light now offers 60 possible combinations for download:

  • Web Frameworks: JSF (MyFaces), Spring MVC (with Ajax, Acegi Security, JSP, FreeMarker or Velocity), Stripes, Struts 1.x, Struts 2.x, Tapestry, WebWork, Wicket
  • Persistence Frameworks: Hibernate, iBATIS, JDO (JPOX), OJB, Spring JDBC

AppFuse Light Screenshot - click on the box at the bottom right of AL to activate StyleSheet Switcher

If you have any questions about this release, please subscribe to the AppFuse user mailing list by sending a blank e-mail to [email protected]. You can also post questions in a forum-like fashion using Nabble:

If you're a developer of one of the frameworks that AppFuse Light uses - I'd love a code review to make sure I'm "up to snuff" on how to use your framework. I'm also more than willing to give commit rights if you'd like to improve the implementation of your framework.

Live demos are available at:

What's on tap for AppFuse Light 2.0? Here's what I'm hoping to do:

  1. Drop the seldom-used persistence frameworks: JDBC, JDO and OJB.
  2. Drop Struts 1.x and WebWork as web frameworks (replaced by Struts 2).
  3. Support the same persistence frameworks as AppFuse: Hibernate, iBATIS and JPA.
  4. Re-use appfuse-service, appfuse-hibernate, appfuse-ibatis and appfuse-jpa in AppFuse Light. I'll likely include the core classes (User, Role) since AppFuse Light is more "raw" than AppFuse.
  5. Require Java 5.

Let me know if you disagree with any of these items or would like to see other enhancements.

Posted in Java at Nov 29 2007, 09:28:06 AM MST 3 Comments

I would hardly say that JDBC is "seldom-used". JDBC with the JdbcTemplate isn't that bad of a solution. Now dropping JDO and OJB probably isn't gonna hurt any feelings. Erik

Posted by Erik Weibust on November 29, 2007 at 10:35 PM MST #

I agree Spring JDBC is a good solution, but I don't believe it's used much by the folks that download AppFuse Light. We've had hardly any complaints about AppFuse not having Spring JDBC support.

Posted by Matt Raible on November 29, 2007 at 10:42 PM MST #

Hi Matt,

I've been using appfuse for some time. It's really great.

Anyway, how about adding code generation to appfuse-light ?

Some folks including myself feel the need to start "clean" but "not really from scratch".

I tried appfuse-struts2-hibernate only to find errors in test cases and models for fixing since I used a relatively complex relations on the database. But I think that the worst feature in appfuse is the script always drop the tables and the relations and recreate them not in the way i want every time I run the mvn jetty:run.

Then I get appfuse-light started and move the generated code in appfuse while painfully erased "excessive features and configurations" along the way. When I speak about "excessive features and configurations" I am talking about things that not everyone is using like ajax support and various internationalization config files.

About the User class, how about making it very simple (e.g. user_id, username, password). Since user information may vary in different applications, why not let the information be stored in different table that refers the user table.

Posted by Windiantoro on March 17, 2008 at 12:48 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed