Building a RESTful quotation service with Spring

Engineering | Greg L. Turnquist | August 21, 2014 | ...

I was recently made aware that a public API we were using for one of our guides contained objectionable material. After confirming this, I immediately responded that we would pick another source. Wishing to avoid such an issue in the future, I decided the best solution was to build our own RESTful quote service. So I decided to use the best tools to do so, the Spring stack, and was able to migrate the very next day.

Picking your tools

To kick things off, I made a check list of what I knew would be the right tools for the job of creating a RESTful web service.

Preview Spring Security WebSocket Support

Engineering | Rob Winch | August 21, 2014 | ...

[callout title=Updated Dec 11 2014]Although originally about Spring Security 4.0.0.M2, the blog has been updated to reflect improvements found in Spring Security 4.0 RC1.[/callout]

Introduction

Previously, an application could use Spring Security to perform authentication in a WebSocket application. This worked because the Principal of an HttpServletRequest will be propagated to the WebSocket Session.

The problem is that authorization was limited to handshake. This means that once the connection was made, there was no way to provide any granularity to authorization of the WebSocket application…

This Week in Spring-19th August 2014

Engineering | Josh Long | August 19, 2014 | ...

Welcome to another installment of This Week in Spring! It's a few weeks before SpringOne2GX 2014, already! Time sure flies when you're having fun! The beginning of 2015 will mark the 4th year of This Week in Spring, and it's more exciting every week! I'm hoping to see as many of you as possible at SpringOne2GX 2014. This is sure to be an amazing event.

Anyway, with that out of the way, let's get on to this week's roundup!

  1. Spring Security lead Rob Winch just announced Spring Security 4.0.0.M2, which

provides a lot of great features, including improved Security-aware testing support, Spring Data integration, support for websocket security, and ties into the nascent Spring Session projet that was derived from the work for this release. Check it out! Rob also announced Spring Security 3.2.5 and 3.1.7

This Week in Spring - August 12th, 2014

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

Welcome to another installment of This Week in Spring. We've got a lot of cool stuff happening and, as you might imagine, the entire team is abuzz in preparation for SpringOne2GX 2014, coming in just a few short weeks! If you haven't registered, now's the time to do so!

  1. Spring Security lead and all-around sleepless ninja Rob Winch has just announced that Spring MVC Test HtmlUnit 1.0.0.M2 has been released. This is an awesome release if you're trying to unit test real pages with Spring MVC
  • Spring Boot 1.1.5 has just been released. The new release mainly addresses a few issues and is a recommended upgrade for all users.
  • I really enjoyed this blog, ¿Qué es Spring Framework?, which tries to explain what the fundamental value of Spring is. Largely, the (Spanish language) article explains that Spring handles the lifecycle for objects in a consistent way. It's easy to plug in various frameworks, software, around the edges when the fundamental life-cycle is handled. I would point out that this post uses Spring…

This Week in Spring - August 5th, 2014

Engineering | Josh Long | August 06, 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 Cloud lead Ramnivas Laddad has written up a nice post that looks at how to extend Spring Cloud to consume other services in a consistent manner.

Extending Spring Cloud

Engineering | Ramnivas Laddad | August 05, 2014 | ...

One of the most interesting capabilities of Spring Cloud is its extensibility. You can extend it to support additional clouds, enhance already supported clouds, support new services, new service connectors--all without modifying the Spring Cloud code itself. In this blog, we explore this capability. If you haven’t done so already, please read the first and second blog in this series to acquire sufficient background.

The three axes of extensibility

Spring Cloud provides extensibility along three orthogonal directions. You may extend it in one of these directions and orthogonality ensures that…

This Week in Spring (Spring XD Edition) - July 29th, 2014

Engineering | Josh Long | July 29, 2014 | ...

Welcome to another installment of This Week in Spring! This week saw the release of the amazing Spring XD 1.0.0.RELEASE. The release announcement is a good place to start your big-data journey. There, you'll find links to other great posts, learning content, etc. This is a great opportunity to evaluate what you hope to get out of your data, and whether you're getting it. Spring XD is your big-data Swiss-army knife: it can support live, streaming workloads; batch-centric offline workloads; and general data integration solutions. If you digest but one post from this week's roundup, let it be

Using Spring Cloud programmatically

Engineering | Ramnivas Laddad | July 29, 2014 | ...

In the last blog, I showed you how to use Spring Cloud's Java configuration option to obtain service connectors declaratively (there is also XML namespace support, if you need it). In this blog, we will take a closer look at how you would use Spring Cloud programmatically. This will help in the situations where you cannot use Java or XML configuration. It will also demystify how Spring Cloud works and prepare for the next blog in this series, where we discuss extending Spring Cloud.

To work with Spring Cloud we need to access an object of the Cloud class. However, you can’t create a Cloud object directly (its constructor is not public). Instead, you will obtain it through CloudFactory

Spring Framework 4.1 -- Spring MVC Improvements

Engineering | Rossen Stoyanchev | July 28, 2014 | ...

Recently Juergen Hoeller announced the availability of the first of two 4.1 release candidates. Brian Clozel followed up with a post on the static web resources handling enhancements. Previously Stephane Nicoll blogged about cache and JMS related improvements. The goal of this post is to summarize Spring MVC improvements.

The JDK 1.8 java.util.Optional is now supported for @RequestParam, @RequestHeader and @MatrixVariable controller method arguments while ListenableFuture is supported as a return value alternative to DeferredResult where an underlying service (or perhaps a call to AsyncRestTemplate) already returns…

Pivotal Toronto Meetup: Production Grade Applications with Spring Boot

Engineering | Pieter Humphrey | July 25, 2014 | ...

Date: June 18, 2014

Location: Toronto, Canada

WARNING: Audio is not great, but hopefully tolerable :)

Spring Boot, the new convention-over-configuration centric framework from the Spring team at Pivotal, marries Spring's flexibility with conventional, common sense defaults to make application development not just fly, but pleasant! Join Spring developer advocate Josh Long@starbuxman for a look at what Spring Boot is, why it's turning heads, why you should consider it for your next application (REST,web, batch, big-data, integration, whatever!) and how to get started.

Learn more about Spring Boot at: http://projects.spring.io/spring-boot

!{iframe width="560" height="315" src="//www.youtube.com/embed/ySvuAqtQrUc" frameborder="0" allowfullscreen}{/iframe}

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

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

Learn more

Get support

Tanzu 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