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.

[ANN] AppFuse 1.6 Released

After many late nights and lots of Red Bull - AppFuse 1.6 is finished. Phew! The major additions to this release are SiteMesh and WebWork. I also did a lot to simplify DAOs and the tutorials. This release is definitely the largest AppFuse one I've ever done - or at least I spent the most time on it. Not only was WebWork added and Spring MVC improved, but I improved the Struts version significantly too. Now it'll handle nested objects, which can translated into nested forms - and validation even works. All classes in the "web" module can now be tested sans-container, which eliminates the need for Cactus and reduces test execution time by over 50%. The relationship between users and roles was also re-worked to take advantage of Hibernate's slick parent-child relationship features.

See the QuickStart Guide and Tutorials to get started right away. Enjoy!

Posted in Java at Oct 09 2004, 01:34:16 PM MDT 9 Comments
Comments:

Good work ! I happy to see an 1.6 version and like we say in France, a good news never comes alone : now you'll have more time to continue Spring-Live book ! ;-)

Posted by Fabien on October 10, 2004 at 08:14 AM MDT #

I like the improvements in the Spring MVC appfuse.

Posted by Sib on October 10, 2004 at 07:38 PM MDT #

Hi Matt,

I'm the one who told you a few months ago that the login page didn't validate because of duplicate 'id="login"' attributes. You said you were going to fix it, and I seem to remember checking back later and finding it fixed, but it seems to have re-appeared.

Just thought you'd want to know.

Great work getting 1.6 done, by the way. Can't wait to dig into it!

Posted by Kelzer on October 11, 2004 at 07:18 AM MDT #

Heh, there's always something! Thanks for noticing - fixed in CVS.

Posted by Matt Raible on October 11, 2004 at 07:38 AM MDT #

Hi Matt,

Just wanted to let you know that Spring's SQLErrorCodeSQLExceptionTranslator seems unable to properly identify exceptions thrown by hsqldb, which in turn causes UserDAOTest to fail.

Changing the test to catch DataAccessException is an easy workaround which seems to fix the problem.

Posted by Axel on October 11, 2004 at 08:33 AM MDT #

Very good work Matt. I'm also impressed by the improvements in the spring version. Looks more cleaner now. Thanx a lot man.

Posted by Twice on October 11, 2004 at 08:58 AM MDT #

Axel - thanks for the tip. Do you think this is a problem with Spring or with Hibernate's <schemaexport> task? I discovered that the app_user table get's generated with "primary key (username)" whereas Spring's JPetStore sample uses something like "constraint pk_app_user primary key (username)". I tried re-creating the tables manually using this new syntax, but it didn't seem to help. The problem with catching DataAccessException is it's pretty generic. The Signup and User Controller/Actions look for DataIntegrityViolationException to determine if a username already exists. I suppose I could refactor UserDAO to check for an existing user and throw a UserAlreadyExistsException, but that seems like a workaround.

Posted by Matt Raible on October 11, 2004 at 10:40 AM MDT #

Great work! Just starting to learn more about Spring after mine Struts experience. Thx a lot!

Posted by Vladimir Mironov on October 12, 2004 at 06:24 AM MDT #

Thanks Matt. You give me a lot of help. many good ideas and saving much time. A lot of thanks to you.

Posted by jameli on October 14, 2004 at 03:47 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed