Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta.

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.

[ANN] AppFuse 1.8 Released!

This release of AppFuse replaces Container Managed Authentication (CMA) with Acegi Security. Other major features include numerous bug fixes to AppGen and a refactoring of build.xml to use Ant 1.6 features. Eclipse and IDEA project files were also improved so you can easily run tests from within your IDE. A MyJavaPack all-in-one installer was also added so you can download everything you need for AppFuse at once. Eclipse and its plugins were not included in the initial release, but may be in a future release.

If you find any issues, let us know.

Update: You can now see Demos and Videos.

Posted in Java at Apr 29 2005, 08:51:08 AM MDT 11 Comments

Once again, fantastic work matt =-) Its great to see a security focused update - The access control lists in acegi look interesting and should save a lot of control code used for checking permissions (not to mention the multiple return points and nested error responses!).

Posted by Cammm on April 29, 2005 at 09:50 AM MDT #

Congratulations Matt! This is a nice improvement to the best Java quick-start-web-app-framework-directory-structure-build-file around! [Maybe in the next release we can define a new term to describe what it is, like folks did with "Ajax" :) ]

Posted by Nathan on April 29, 2005 at 10:12 AM MDT #

Congrats Matt, I'm looking forward to using it.

Posted by PJ Hyett on April 29, 2005 at 12:53 PM MDT #


  • AppFuse replaces Container Managed Authentication (CMA) with Acegi Security.
  • Refactoring of build.xml to use Ant 1.6 features.
  • Numerous bug fixes to AppGen.
  • All-in-one installer was also added.

Posted by mornlee's blog on April 29, 2005 at 05:07 PM MDT #

Great software! It's a major improvement in terms of setup and deployment. The ant tasks run so much speedier. I'm great that new project setup now provide prompt for package name. Thank you, Mr. Raible! I followed the new tutorial on HibernateRelationships, and I found one problem with [2] [Many-to-One] on the Entry class:

  * column="category_id"
public Long getCategoryId() {
   return categoryId;

This seems to be a double mapping (hibernate.many-to-one already defined on getCategory()), Hibernate complains about it on context starts up. The problem goes away once the mapping is removed. Will there be Tapestry material on those mapping?

Posted by Vui Lo on April 30, 2005 at 01:09 PM MDT #

Great ! The idea, the soft ! Everything ! Just a question : I tried your all-in-one installer but it doesn't work 'cause I am behind a firewall... Is there a way to fix it ?

Posted by Lihe on May 11, 2005 at 06:15 AM MDT #

Lihe - the only way I know of to fix the firewall issue is to specify a proxy and its settings. Unfortunately, it seems like this is necessary when building the package - and since everyone's proxy settings are going to be different - it's pretty much impossible to make this work for everyone.

Posted by Matt Raible on May 11, 2005 at 07:01 AM MDT #

Is there any instruction on how to upgrade my application using previous version of AppFuse to the new version 1.8? I'm trying to upgrade my application to version 1.8 but I bumped into many walls especially when my app is already using J2EE Container Managed Authentication. Because of the refactoring of build.xml, I'm having a hard time keeping up with the build script and property file changes. Are they any information for us whose use early version of AppFuse to mirgrate to the new version? Thanks.

Posted by Ray on May 17, 2005 at 05:53 PM MDT #

Ray - the easiest way I've found to upgrade an old version of AppFuse to a new version can be found on the wiki.

Posted by Matt Raible on May 17, 2005 at 09:53 PM MDT #

I recently began using appfuse and I have to say overall its great. Few people/packages accomplish balancing seamless setup and support for a wide variety of options the way you have. My only critique/question is that I don't see any negative/defensive testing. I can certainly understand not including the test cases because of the time it would take you (after all you've already done so much with this package), but I was wondering if it was just more of a design decision. For instance, I would have expected to see a test in the webtest/SignUpControllerTest that didn't add a matching confimation password to ensure the correct message was displayed. Just wondering if this was an intentional omission and if you had any thoughts on writing test cases to complement defensive coding (or cause it if you follow tdd) Thanks

Posted by Dan Thiffault on June 13, 2005 at 08:04 PM MDT #

Dan - there's no specific reason for not including these tests. Basically, I got caught up in adding new features rather than creating more robust tests. Please enter an enhancement request in JIRA if you'd like to see more tests added. Being specific will help me decide the best tests to develop. Of course, patches are always welcome. ;-)

Posted by Matt Raible on June 13, 2005 at 08:23 PM MDT #

Post a Comment:
Comments are closed for this entry.