Better dependency management for Gradle

Engineering | Andy Wilkinson | February 23, 2015 | ...

Maven's dependency management includes the concept of a bill-of-materials (bom). A bom is a special kind of pom that is used to control the versions of a project's dependencies and provides a central place to define and update those versions.

A number of Spring projects including Spring Framework, Spring Cloud, Spring Boot, and the Spring IO Platform provide boms to make things easier for Maven users. Unfortunately, things haven't been quite so easy if you're using Gradle.

Dependency management in Gradle

Gradle's dependency management uses a ResolutionStrategy to take control of a project's dependency versions. This offers a lot of power and flexibility but doesn't provide a way to reuse the dependency management that's already been declared in a Maven bom. As a result, you have to do so manually. Depending on the bom, this can easily equate to tens of additional lines in your build.gradle

Stream Processing in Spring XD 1.1

Engineering | Josh Long | February 20, 2015 | ...

This tip is drawn heavily from this Wiki-page on Spring XD's streaming support by various Spring XD team-members, and particularly the amazing Ilayaperumal Gopinathan

Spring XD 1.1 is here and is packed with lots of new features. One theme for this release is rich stream processing support. Spring XD 1.1 provides integration with Project Reactor Streams, RxJava Observables, and Spark's streaming.

Let's look specifically at using Reactor, though the concepts are similar across all of the supported streaming APIs.

Messages that are delivered on the Message Bus are accessed from the input Stream. The return value is the output Stream that is the result of applying various operations to the input stream. The content of the output Stream is sent to the message bus for consumption by other processors or sinks. To implement a Stream-based processor module you need to implement the interface org.springframework.xd.reactor.Processor

Working with Spring Roo from Spring Tool Suite (STS)

Engineering | Pieter Humphrey | February 19, 2015 | ...

Original Author: Enrique Ruiz, Disid

As of STS 3.5.1 Spring Roo support and the Spring Roo runtime are installable from the dashboard rather than being directly included in STS.

With this post we'd like to introduce the Eclipse-based support for Spring Roo so you can take Roo's productivity to STS and you don't even have to leave the development environment! You can build a new application and deploy it to STS in just a few minutes.

We will go step-by-step in order to help you get started quickly:

1.Open your STS IDE.

2. Open STS dashboard.

3. Click on Extensions bottom tab and search Spring Roo.

4. Install Spring Roo (current production release)

5. Install Spring IDE - (Roo extension)

From here on you can just follow the steps of the installation wizard. Along the way you need to review and accept the license agreement and restart STS to finalize the installation.

6. After restarting STS you're ready to work with Spring Roo.

We hope you enjoy this new service. We'll continue to improve the Spring Roo support in future releases of course.

As always we very much value community feedback!

For more project specific information please see the Spring Roo Project Page | or see Spring Roo on GitHub

As always, you'll also find Roo on Twitter - either follow @SpringRoo or just include #SpringRoo in your tweets.

Stay tuned to Spring Roo news!

This Week in Spring - February 17th, 2015

Engineering | Josh Long | February 17, 2015 | ...

Welcome to another installment of This Week in Spring! This week I've been in studio recording the next iteration of the Spring Livelessons series, this one on building cloud-native applications (microservices) with Spring Boot, Spring Cloud, and Cloud Foundry. It's been a lot of fun, and - this morning - I took a break to do two 1.5 hour webinars for O'Reilly on building Spring Boot applications and Spring Cloud microservices, both entirely live coded! It's been a fun week for me, and I hope it has for you, as well.

This Thursday the 19th marks the culmination of this year's Lunar New Year, or Chinese new year or Spring festival. What's this to do with Spring (the technology)? Not much, besides being a celebration of better things to come and a great name! So happy new year…

Better application events in Spring Framework 4.2

Engineering | Stéphane Nicoll | February 11, 2015 | ...

Application events are available since the very beginning of the Spring framework as a mean for loosely coupled components to exchange information. One of the most well known usage of application events is the following:

@Component
public class MyListener 
        implements ApplicationListener<ContextRefreshedEvent> {
  
    public void onApplicationEvent(ContextRefreshedEvent event) {
        ...
    }
}

This allows MyListener to be notified when the context has refreshed and one can use that to run arbitrary code when the application context has fully started.

In Spring Framework…

Java Doesn’t Suck - Rockin' the JVM

Engineering | Brian Dussault | February 11, 2015 | ...

Recently James Ward wrote a great blog post, “Java Doesn’t Suck – You’re Just Using it Wrong”, which highlighted numerous challenges that enterprise Java developers face in their daily routines building Java applications. The good news is that breaking out of the development rut is much easier than you may think. Over the last few years, Spring has redefined how modern Java applications are built while dramatically improving development velocity. In this post, I’ll use James Ward’s blog post as a backdrop to explain how Spring helps developers rock the JVM (using Java) while tackling each of…

SpringOne2GX 2014 Replay: Ratpack Web Framework

Engineering | Pieter Humphrey | February 10, 2015 | ...

Recorded at SpringOne2GX 2014.

Speaker: Dan Woods, NetFlix

G&G Special Topics

Slides: http://www.slideshare.net/SpringCentral/4pieter-springone2gx2014ratpack

Ratpack is an asynchronous web framework for the JVM that was inspired by the simplistic nature of Ruby's Sinatra framework. Written in Java, optimized for Groovy and Java 8, Ratpack sports a high throughput, simplistic interface for rapid development of rich, real-time web applications.

SpringOne2GX 2014 Replay: Building a Continuous Delivery Pipeline with Gradle and Jenkins

Engineering | Pieter Humphrey | February 10, 2015 | ...

Recorded at SpringOne2GX 2014.

Speaker: Peter Niederwieser

G&G Special Topics

Slides: http://www.slideshare.net/SpringCentral/continuous-delivery-with-gradle-and-jenkins

Getting software from a developer's machine to a production environment without a fully automated process is time-consuming and error-prone. Continuous Delivery enables building, testing and deploying of software through build pipelines with well-defined quality gates. In this session, we will discuss how to build such a pipeline with the help of Gradle and Jenkins. With Jenkins as the centerpiece of our build pipeline, we will model our way from build to deployment. We will start by introducing an examplary application and learn how to build it with Gradle. Step by step, we will touch on topics like automating unit, integration and functional tests, incorporating popular code quality tools, as well as packaging, publishing and deploying the deliverable.

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