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] Equinox 1.3 Released

This release is mainly a bug fix release, but it also adds support for Maven. All of the frameworks used in Equinox, as well as its build/test system is explained in Spring Live. Detailed release notes are below:

- Added missing "validator" property to "userFormController" bean in Spring MVC version.
- Added "redirect" element to success mapping to user list to prevent duplicate post problem.
- Moved "ctx" variable declaration from decorators/default.jsp to taglibs.jsp so it's available to all JSPs.
- Changed any references to UserDAO in instances to use UserManager instead (to prevent problems when transactions aren't used).
- Fixed install scripts in extras so they'd work on Windows from the command prompt. Added "fixcrlf" target for users that encounter issues.
- Added installer for Maven in "extras/maven". This can be used to replace the Ant build system.
- Dependent packages upgraded:

  • Display Tag 1.0
  • Hibernate 2.1.8
  • iBATIS 2.0.9b.550
  • JPOX 1.1.0-beta-1
  • Spring 1.1.4
  • Tapestry 3.0.2

Download. For more information about installing the various options, see the README.txt file.


Rather than uploading the different combinations that are possible with Equinox, I figured I'd just wait for requests. So if you'd like things like Tapestry+Spring+JDO, or JSF+Spring+JDBC, let me know and I'll upload a pre-built version of 1.3.

Posted in Java at Feb 27 2005, 05:55:21 PM MST 17 Comments

Hi Matt... Great job...except the JSF link is broken. Rather, the link probably works, but there's something wrong with the build perhaps?

Posted by Dave Macpherson on February 27, 2005 at 08:19 PM MST #

Doh! Thanks Dave - the equinox-jsf deployment was messed up b/c I didn't run "ant fixcrlf" before running the install. The problem with the JSF version is that the corejsf-validator.jar I use (from David Geary's Core JSF book) causes a bug in Spring. Therefore, I disable the JAR in tests and rename it during deployment. Yeah, it's a hack, but it works. I tried contacting David to see what the problem might be, but never received a reply.

Posted by Matt Raible on February 27, 2005 at 10:12 PM MST #

Matt, I just downloaded Equinox and made my first app. Cool.... But... I dont know what the difference between Equinox and AppFuse is. You say that its a lightweight version of AppFuse... but whats different. Why would I want one over the other? Thanks, Mike

Posted by Mike Porter on February 28, 2005 at 02:24 PM MST #

AppFuse is a lot more full-featured with security: form-based authentication, user management, password encryption (optional), SSL (optional), file-upload example and struts-menu. It also uses XDoclet for generating web.xml, Hibernate mapping files and struts-config.xml. Furthmore, it has little things like automatic asterisks for required fields and Remember Me for authentication.

Equinox is meant to be bare bones, with no security and no code-generation via XDoclet. Because of this, Equinox is much easier to integrate into an IDE. I would choose AppFuse over Equinox is I needed a security and user management. If not, Equinox might work better.

On my current project, I'm using Equinox with Maven and IDEA. We're not doing any database persistence, but interacting with Axis web services and using JCIFS for Windows domain authentication.

Posted by Matt Raible on February 28, 2005 at 02:37 PM MST #

I would like to see a Struts+Spring+hibernate+velocity version of this. Not really sure where to request this so I'm posting it up here :-). The view isn't that important, but the first three are. I know the book is for Spring, but I think you should have more information on using them (struts+spring) together. Thanks for the help. P.S. I have a good anti-spam question... Enter any eleven-digit prime number to continue... :-P

Posted by Brandon Mercer on February 28, 2005 at 09:03 PM MST #

Brandon, I uploaded a Struts+Spring+Hibernate version of Equinox to the 1.3 release folder. Here is a direct link for download. While Equinox does support Velocity, it only (currently) supports it for Spring MVC. The Sample Chapter from Spring Live should help you get started with Struts, Spring and Hibernate.

Posted by Matt Raible on February 28, 2005 at 10:37 PM MST #

How difficult would it be to either add the Xdoclet code generation to the Mavenized Equinox, or to Mavenize AppFuse? The Xdoclet generation would be very nice to have, and we're currently running a Maven build on our project.

Posted by David Carter on March 01, 2005 at 01:46 PM MST #

Adding XDoclet to the Mavenized version of Equinox would likely not be too hard for the experienced Maven/XDoclet user (not me). As for Mavenizing AppFuse, that would be hard. I'd estimate it'd take me 80 hours to do. Sounds like a lot of work for something I'd (probably) never use. ;-)

Posted by Matt Raible on March 01, 2005 at 02:09 PM MST #

I would like to see a JSF+Spring+Acegi+Hibernate version of this.

Posted by nikola on March 02, 2005 at 05:10 PM MST #

Nikola - Equinox doesn't have Acegi Security integrated. I don't ever plan on integrating security features into Equinox b/c I want to keep it simple. Chapter 12 of Spring Live (not released yet) shows you how to integrate Acegi Security into Equinox. I will be integrating Acegi Security into the next release of AppFuse. You could get a JSF+Spring+Acegi+Hibernate version at that time - or you could get it from CVS right now. ;-)

Posted by Matt Raible on March 02, 2005 at 05:23 PM MST #

OK, can you make JSF+Spring+Hibernate and I will add Acegi by myself.

Posted by Nikola on March 02, 2005 at 05:33 PM MST #

Nikola - I created and uploaded for you.

Posted by Matt Raible on March 02, 2005 at 11:41 PM MST #

Thanks for Equinox and AppFuse use Ant to setup new project, right. Why don't you send email to Eclipse team, Oracle JDeveloper, Borland JBuilder, IBM WSAD, Netbean team, SUN JCreator Team, _other_IDE_GUI_tools_ and ask them to configure Equinox and/or AppFuse for his tool?! They need one persion and few days to make it for all combination (any VIEW + Spring + any O/R). They can afford it, right! This is win-win situation for all. How use Ant can use it, who use only IDE just import Equinox and/or AppFuse version for that tool.

Posted by Nikola on March 04, 2005 at 03:41 AM MST #

Path to displaytags-1.0.jar broken in Eclipse project file - \equinox\... instead of equinox/...

Posted by Volodymyr M. Lisivka on March 05, 2005 at 12:53 PM MST #

hi Matt, can you please update equinox to use hibernate3 and spring1.2?

Posted by Lorence on May 12, 2005 at 12:44 AM MDT #

Lorence, the CVS version of Equinox has been upgraded (view README.txt). I haven't released it yet b/c I made the switch from HSQL to Postgres and I don't know if this is a final decision. I recently discovered that you can run MySQL as in-memory database (like HSQL), so I might go that route.

Posted by Matt Raible on May 12, 2005 at 05:03 PM MDT #

Hello. Good news. Thanks.

Posted by Allonsoi on May 03, 2007 at 11:56 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed