Spring MVC Test with WebDriver

Engineering | Rob Winch | March 26, 2014 | ...

In my second post I described how to use Spring MVC Test with HtmlUnit. In this post we will leverage additional abstractions within WebDriver to make things even easier.

Why WebDriver?

We can already use HtmlUnit and MockMvc, so why would we want to use WebDriver? WebDriver provides a very elegant API and allows us to easily organize our code. To better understand, let's explore an example.

NOTE Despite being a part of Selenium, WebDriver does not require a Selenium Server to run your tests.

Suppose we need to ensure that a message is created properly. The tests involve finding the html…

This Week in Spring - March 25th, 2014

Engineering | Josh Long | March 26, 2014 | ...

Welcome to another installment of This Week in Spring! This week is going to be a crazy week, and I can't wait to see you on the other end of it next week! There are some BIG announcements coming! Keep your eyes glued to spring.io this week: So. Much. Win. Alright, with that out of the way, let's get to it!

Spring MVC Test with HtmlUnit

Engineering | Rob Winch | March 25, 2014 | ...

In my previous post I introduced Spring Test MVC HtmlUnit and explained the motivation behind the project. In this post I will describe how to use Spring MVC Test with HtmlUnit.

Updating Dependencies

Before you use the project, you must ensure to update your dependencies. Instructions for both Maven and Gradle can be found on the site documentation.

Using HtmlUnit

Now that we have the correct dependencies, we can use HtmlUnit in our unit tests. Our example assumes you already have JUnit as a dependency. If you have not added it, please update your classpath accordingly. The complete code sample for using HtmlUnit and Spring MVC Test can be found in MockMvcHtmlUnitCreateMessageTest

Introducing Spring Test MVC HtmlUnit

Engineering | Rob Winch | March 19, 2014 | ...

On Monday I announced the release of the first milestone of Spring Test MVC HtmlUnit with the promise of a blog series that would introduce it. This is the first of a four part blog series introducing Spring Test MVC HtmlUnit. The series outline can be seen below:

  • In this first post we will explore the motivation behind Spring Test MVC HtmlUnit.
  • The second post will demonstrate how we can integrate Spring MVC Test and HtmlUnit.
  • Our third post will demonstrate how we can integrate Spring MVC Test with WebDriver.
  • Finally, we will demonstrate how we can integrate Spring MVC Test with Geb.


This Week in Spring, Java 8 Edition - March 18th, 2014

Engineering | Josh Long | March 18, 2014 | ...

Welcome to another installment of This Week in Spring!

Today, Oracle released Java 8 and all its many wonderful features at EclipseCon. Java 8 is finally here! Be sure to grab your JDK today.

There are lots of fine features - like lambas - that enhance Spring application development. To learn more, be sure to check out Spring project lead Juergen Hoeller's webinar on the 25th of March on the subject of Spring 4 and Java 8. I'll be there!

As usual, we've got a lot to cover so let's get to it.

  1. InfoQ has posted a very nice article introducing Spring Boot today by Dan Woods. Dan does a very good job, I'd recommend it.

Happy 25th Birthday, Web! or: Honoring the web by embracing It

Engineering | Josh Long | March 13, 2014 | ...

Yesterday, the 12th of March, 2014, was the 25th anniversary of Sir Tim Berner's Lee having invented the web. As he explains: "I just had to take the hypertext idea and connect it to the Transmission Control Protocol and domain name system ideas and—ta-da!—the World Wide Web." Elementary, really. (Hah!)

Pictured (taken from Wikimedia) is the original NeXT workstation (whose operating system , NeXT Step, underpins today's OS X and iOS design) on which Sir Tim Berners-Lee put together the initial HTTP service and client.

As an aside: I've always wondered what it would be like to be able to…

This Week in Spring - March 11th, 2014

Engineering | Josh Long | March 12, 2014 | ...

Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover, so let's get to it!

  1. Spring AMQP lead Gary Russell has just announced that Spring AMQP 1.3.0 has just been released!
  2. Spring Social lead Craig Walls just announced the first, long-awaited, RC of Spring Social 1.1. Hurray! I'm excited to see this new release.
  3. Spring Security lead Rob Winch has just announced a security fix for Spring Security 3.2.2 and 3.1.6.
  4. Dr. Dave Syer, co-lead on Spring Boot, among many, many other amazing things, has thrown together a sexy looking Spring Boot wrapper for Ratpack, a toolkit for JVM web applications. That's so awesome.
  5. Spring Data lead Oliver Gierke has just announced that the first service release for Spring Data Babbage is now available
  6. I put together a post on the various deployment strategies for Spring Boot applications
  7. Don't miss Mattias Arthursson on a webinar March 18th, presenting Spring LDAP 2.0.0.
  8. Join Juergen Hoeller and the Spring Team for a webinar on Java 8 and Spring Framework 4.0 on March 25!
  9. Speaking of Spring Data, check out the replay of this talk introducing Spring Data repository best practices from SpringOne2GX 2013
  10. Don't miss John Hann's introduction to pragmatic JavaScript from SpringOne2GX 2013
  11. Emanuel Rabina gave a talk at SpringOne2GX 2013 on improving your Spring view layer with natural templates and Thymeleaf: check it out!
  12. The More Vaadin blog has a nice, if short, post on the Spring Boot/ Vaadin integration that Vaadin's Petter Holmström and I have been working on . Nice! As always, this is open-source so don't be shy and be sure to send any feedback you have.
  13. In related news, snapshots of the Vaadin4Spring integration that Petter and I are working on are now published on Sonatype's repository - enjoy!
  14. Our pal Eberhard Wolff is back, and this time he's written up a nice (German-language) post on Spring 4.0 and Spring Boot, among (many) other things
  15. David Williams blog, A Time-to-Value Story with Cloud Foundry, is thought-provoking: how quickly can a technology deliver value - measurable value?
  16. Martin Fowler has started watching the micro services space. Nothing to report, specifically. This is just a page I'd recommend watching.
  17. Layer 7, a CA technologies company, has just released results of a survey focused on API design and deployment. There are many takeaways from the survey, so be sure to read it, but one thing I thought particularly promising: a predicted growth in Hypermedia-aware APIs among API developers. If you're interested in embracing hypermedia, and the design pattern HATEOAS, I would encourage you to check out Spring HATEOAS and - if you'd like to learn more about using Spring HATEOAS and Spring Boot, check out this tutorial and adjoining code.

Deploying Spring Boot Applications

Engineering | Josh Long | March 07, 2014 | ...

Spring Boot 1.0 RC4 just dropped and 1.0 can't be too far behind, and there are all sort of cool features coming!

One of the many questions I get around this concerns deployment strategies for Boot applications. Spring Boot builds on top of Spring and serves wherever Spring can serve. It enjoys Spring's portability. Spring Boot lets the developer focus on the application's development first, and removes the need to be overly concerned with every other aspect of its lifecycle, including deployment and management.

It aims to be production ready, out of the box. As part of this, Spring Boot does a few things differently, by default, that may be at first alien to some. In this post, I hope to briefly cover some of the common strategies for deploying a Spring Boot applications. I'll ever so briefly introduce it, and some sample code, before we dive deeper. Feel free to skip this section and start at the Embedded Web Server Deployment

This Week in Spring - March 4th, 2014

Engineering | Josh Long | March 05, 2014 | ...

Welcome to another installment of This Week in Spring.

As usual, we've got a lot to cover so let's get to it!

  1. Spring Batch and Boot co-founder Dr. Dave Syer has announced that Spring Boot RC4 is now available. Check out the latest cut for all the goodies!
  2. There is a new guide that details how to use Spring Data REST
  3. Spring Data ninja Christoph Strobl has announced that Spring Data Redis 1.2 is now available.
  4. Don't miss Mattias Arthursson on a webinar March 18th, presenting Spring LDAP 2.0.0.
  5. Join Juergen Hoeller and the Spring Team for a webinar on Java 8 and Spring Framework 4.0 on March 25!
  6. David Turanski has put together a nice post on how to use Groovy for bean configuration
  7. Alvaro Videla's and Jan Machacek's talk from SpringOne2GX 2013, RabbitMQ is the new King, is now available online
  8. Gary Russell's SpringOne2GX 2013 talk introducing Spring Integration's internals is now online
  9. Pance Cavkovski has a nice post demonstrating the web socket support from the JavaWebSocket project, Java EE 7 and Spring 4.
  10. Norris Shelton Jr. has a nice post on accessing the Spring Security principal from the currently installed Authentication object using a custom annotation
  11. Quinten Krijger has a nice post on how to manage session concurrency with Spring Security and Spring MVC
  12. Tomasz Nurkiewicz writes about how to build a custom Spring XML namespace. He makes a great point at the beginning, though: Spring doesn't require XML!
  13. The Not Just Another Blog blog looks at how to override the Spring Security filter chain
  14. Thys Michels has a short-and-sweet post on how to configure a Spring application using Java configuration to consume an ElasticSearch service on Heroku.

Groovy Bean Configuration in Spring Framework 4

Engineering | David Turanski | March 03, 2014 | ...

This post is intended to introduce the Groovy Bean Builder to Java developers as a powerful alternative or supplement to Java @Configuration and XML configuration. The Spring Framework release 4.0 includes a port of the Grails Bean Builder to the core Spring Framework, providing a Groovy DSL for configuring Spring applications. Groovy and Grails developers are no doubt familiar with configuring Spring applications this way and I expect the rest of you are already thinking "How cool is that?"

Don't worry if you're not a Groovy expert. Just as many Java programmers use another popular Groovy DSL, Gradle, to build applications, you only need to know some basic syntax to get started. Sample code is available on github

Get the Spring newsletter

Thank you!

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all