Matt RaibleMatt Raible is a writer with a passion for software. 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.
You searched this site for "java". 1,588 entries found.

You can also try this same search on Google.

Java2Html Plugin for JSPWiki causes downtime

There's an annoying thing that currently happens with the Java code on my wiki: selecting code to copy doesn't work in Firefox (try it). Any easy workaround is to use IE. However, I found a solution yesterday after communicating with the author of the Java2HtmlPlugin for JSPWiki. His solution was to upgrade to the latest version (4.1) of the library. I did the upgrade yesterday morning, tweaked a couple of stylesheets and called it good. The copying was working and everything seemed to be fixed.

In the last 24 hours, this site has crashed around 8 times - seemingly every two hours. This is strange b/c it's been up a week at a time prior to that, as well as the fact that my ISP has scripts to restart Tomcat if it's not responsive. The only thing I changed was the java2html.jar, so I'm guessing that was the problem. I backed out the change this morning - and copying with Firefox is going to suck once again. Hopefully that change fixes the stability of this site.

Update: This site crashed 3 times today even after I backed out yesterday's change. It must be something else. It's wierd that it's crashing now after having several weeks of excellent stability.

Posted in Java at Apr 28 2005, 09:48:13 AM MDT 8 Comments

BabyBash - kids love it!

A few months ago, I saw Toby Reyelts' post about a game he wrote called BabyBash. I downloaded it when I first saw it and let Abbie play it. She loved it immediately, and would ask me to play it whenever she saw I was "working" on the computer. Of course, she'd say "Daddy - no working" first, and then say "play Abbie's game?".

Then I lost the link for a couple of months and this conversation turned very sour. A couple of weeks ago, I found the link and vowed to never let it go again. This morning, I gave Jack a run at the game (he's almost 8 months now) and he loved it too! It probably doesn't hurt that they're playing it on a 23" display. ;-)

If you've have small children, you should really let them try this game. Thanks Toby - you rock!

Posted in Java at Apr 27 2005, 04:23:36 PM MDT 11 Comments

[AppFuse] New Committers and 1.8 Status

This morning, Nathan and I invited Ben Gill and Sanjiv Jivan to join us as Developers on AppFuse. Both of these guys have been answering a lot of questions on the mailing list, submitting patches, and documenting things on the wiki. In my opinion, developers that write documentation and help other users are the most valuable. Ben and Sanjiv have agreed to join the project - welcome aboard guys!

In AppFuse 1.8 news, I'm almost there, but not quite. I did a whole slew of refactoring to the Ant build process so that macrodefs replaced many targets, and imports are now used where appropriate. I saw a drastic improvement in execution time after doing the macrodef conversion. The reason I didn't release last week is because I got caught up in refactoring some things to make it possible to run JUnit tests in both Eclipse and IDEA. The good news is I got it all working - the bad news is it screwed up a number of the extras/* install tests. If I can't fix everything in a couple more hours of work, I'll likely back out my changes and simply document the process. I anticipate I have (realistically) 8 hours of work left before a final release. I'm still hopeful I can have it done this week.

Posted in Java at Apr 26 2005, 04:31:33 PM MDT Add a Comment

JSF needs better tools

In general, I don't like the fact that JSF is designed for tools vendors. However, after seeing a Visual Studio .NET 2005 demo - I can understand why that's Sun's motivation. Visual Studio is *very* cool and seems to greatly simplify ASP.NET development. That's why it's disturbing to see Why do JSF tools suck so bad?.

If the JSF Tools are going to suck (compared to Visual Studio), why don't we just make it more developer-friendly (instead of being so tools-friendly)? Of course, the better solution is to make the tools better, but that doesn't seem to be happening. Maybe we should just try to get Visual Studio to support JSF. ;-)

Posted in Java at Apr 19 2005, 09:38:07 AM MDT 14 Comments

At the MySQL Conference in San Jose

I arrived in San Jose at 10:00 this morning to give a 3-hour tutorial on developing test-driven webapps with Spring and Hibernate [download PDF]. This was just a fancy name for developing webapps with AppFuse, but the session seemed to go over pretty well nevertheless. In the first half of the class, there were a couple of sleepers, but I cranked down the A/C for the second half and everyone stayed awake (although some were shivering). I never thought I could ramble on for 3-hours, but it wasn't that hard. I did end up doing mini-presentations on Spring and Comparing Web Frameworks, but all in all, I think it went pretty well. Very few people in the room had heard of any of the Java web frameworks, and only 6 were familiar with Spring and Hibernate. It was a tough crowd, but AppGen's code generation (hopefully) showed it's easy to create CRUD-based webapps with AppFuse. Note to self: make a video of that.

I have a free pass to the MySQL Conference, but I doubt I'll attend many sessions. I have a lot on my plate for AppFuse 1.8, Acegi integration into Roller, and some updates for Spring Live. It should be a good week, hopefully I'll get a lot done. This weekend should be awesome - Julie shows up on Friday for our 5-year anniversary party.

The best part of the conference so far? Talking shop over beers with the locals (crew from c|net and AppFuse user Phil Hershkowitz).

Posted in Java at Apr 18 2005, 09:34:01 PM MDT 1 Comment

How do we bake Ajax into Struts and Spring MVC?

I see a trend happening here. The next version of WebWork, as well as Tapestry and JSF are all embracing Ajax technologies. By "embracing", I mean they're not only using them, but they're making it easier for us to use them.

After using XmlHttpRequest in my last two projects, I think this is a must for Struts and Spring MVC as well. The technology is very cool and customers absolutely love it.

The question is how do we bake it in? WebWork makes it easy because its tag libraries are backed by customizable Velocity templates. With Struts and Spring MVC, it seems the best way would be to use tag libraries, but maybe there's better alternatives. Do they each need an AjaxAction/AjaxController or something that allows DWR-type stuff?

What are your thoughts? You might argue that using DWR should suffice, but w/ everyone else (even Rails) baking it into the framework - I see no reason why Spring MVC and Struts shouldn't do the same. You are using these frameworks to develop kick-ass UIs aren't you?

Posted in Java at Apr 15 2005, 06:20:28 AM MDT 13 Comments

Why Wicket looks cool

I like the looks of Wicket for a couple of reasons - without even using the framework yet.

  • Its project homepage looks good. If you're using a Java web framework, chances are you're developing UIs too. If you don't know how to make sites look good - it's time to find a new line of work IMO. Of course, learning how to make good-looking UIs is another option. ;-)
  • Its Wicket Stuff project. It provides Hibernate, fValidate and Spring integration. It also appears to provide an option to use Velocity for your templates. I'm not sure what the Velocity integration provides - since HTML templates (ala Tapestry) should do everything that's needed.

What I don't like about the project:

  • The Buzz page has a quote that's (apparently) from this site. Unfortunately, it looks like I said it - which I didn't.
  • There's no books being written about it. If it's really that good - where's the books? Ruby on Rails will have 3 by the end of this year. Any good framework should inspire books to be written about it.
  • The Wicket Stuff project has no documentation. Javadocs don't cut it. Tutorials are king.

I hope this project succeeds - Tapestry needs some competition and I don't think JSF is providing it. If JSF adds HTML Templates (or I figure out how to use Java Studio Creator to manage an AppFuse+JSF project), that's a different story.

Posted in Java at Apr 14 2005, 08:37:03 AM MDT 12 Comments

Using Ivy in AppFuse

I'll admit, the thought of not checking in JARs to AppFuse's CVS is intriguing. With Ivy, I think I could pull off the current setup, plus a dynamic-downloading system. By current setup, I mean that the JARs are distributed in your "lib" directory and you can build your app w/o downloading any dependencies. I like this because I can develop AppFuse and not worry about my internet connection.

Dion doesn't get my love for checking in JARs. The main reason I do it is because it takes me a less time to download a new release and check it into CVS than it takes me to find that same release in Maven's Repo. Case in point: Hibernate 3.

I love the idea of Ivy, and mockhaug makes it sounds great, but I don't want to have to create a bunch of metadata whenever I want to use something like Hibernate 3. Then again, if Ivy is ever going to catch on, someone has to do it.

In conclusion, I'm still not convinced I should integrate Ivy into AppFuse - sounds like maintaining and uploading dependencies would be a lot more work than just checking in JARs. If there was a person responsible for creating Ivy metadata every time a new release came out, I might think different.

Posted in Java at Apr 13 2005, 02:19:21 PM MDT 6 Comments

Very cool search with XMLHttpRequest

From fiftyfoureleven.com, I learned about forgetfoo.com - which is doing some very cool stuff with XMLHttpRequest. Be sure to check out the calendar, comments and naked picture of Britney Spears.

While we're on the topic of cool stuff, I also learned about this cross-browser Nifty Corners component. Should we call a set of CSS+JavaScript files a component I think so, what else would you call it?

Posted in Java at Apr 13 2005, 11:13:55 AM MDT 4 Comments

Closures with CollectionUtils

Here's a pretty nifty trick for using closure's with Jakarta Commons CollectionUtils:

List list = new ArrayList();
...
CollectionUtils.forAllDo(list, new Closure() {
    public void execute(Object obj) {
    // execute something for each item obj
    }
});

I wonder if there's any performance hit from doing things this way vs. a good ol' Iterator? Hat tip to Anand Subramanian.

Posted in Java at Apr 13 2005, 08:49:07 AM MDT 18 Comments