The Spring Blog

Engineering
Releases
News and Events

This Week in Spring - December 6th, 2016

Welcome to another installment of This Week in Spring! This week I’m in Brisbane, Australia, on the second leg of the YOW! conference circuit. If you’re around, please say hi or find me when YOW! moves to Sydney in a few days.

We’ve got a lot to cover so let’s get to it!

Read more...

SpringOne Platform 2016 Replay: Testing with Spring Framework 4.3, JUnit 5, and Beyond

Recorded at SpringOne Platform 2016.
Speaker: Sam Brannen, Swiftmind
Slides: http://www.slideshare.net/SpringCentral/testing-with-spring-43-junit-5-and-beyond

Curious about what’s new in Spring’s testing support in 4.3 or what’s on the horizon in Spring 5 and JUnit 5? Then join Sam Brannen, Spring Test component lead and JUnit 5 core committer, to find out! The first part of this session will give attendees an overview of the latest core integration testing improvements in Spring 4.3 such as the new SpringRunner alias for the SpringJUnit4ClassRunner, the omission of @ContextConfiguration when it can be inferred, support for @Sql and @SqlGroup as composed annotations, limiting the context cache size within a test suite, and the new ContextCustomizer API for customizing a test’s ApplicationContext. The next part will cover recent improvements in Spring MVC Test such as server-side testing support for expectations on response headers, form data processing, JSON prefixes in response content, custom HTTP verbs, and verifying that a specific controller method was invoked as well as client-side REST testing support for indicating how many times a request is expected and expectations for form data in the request body. The focus will then shift to what kinds of testing features to expect in Spring Framework 5.0. And last, but certainly not least, Sam will dive into live examples using Spring Framework’s upcoming support for JUnit 5 for modern testing on Java 8 and beyond.

Read more...

SpringOne Platform 2016 Replay: Going Reactive: Building Better Microservices

Recorded at SpringOne Platform 2016.
Speaker: Rob Harrop, Skipjaq
Slides: http://www.slideshare.net/SpringCentral/going-reactive-building-better-microservices-rob-harrop

Reactive provides developers with an elegant model for constructing applications out of communicating components that improves code readability, eases concurrent programming and supports fine-grained unit testing.

In this talk, we’ll see how this model is a natural fit for building resilient microservices. Specifically, we’ll see how to:

Read more...

SpringOne Platform 2016 Replay: Testing Spring Boot Applications

Recorded at SpringOne Platform 2016.
Speaker: Phil Webb
Slides: none, all live coding
In this talk we’ll cover the host of new features that have been added to Spring Boot 1.4 to help with testing. We’ll discuss how to unit test your code, how (and when) to involve Spring in your tests, and talk about the various tools and libraries that you should be using. Taking a simple application, we’re going to add:
- Unit tests for basic components
- Integration Tests for JPA entities and queries
- Tests for JSON marshalling and unmarshalling
- Tests for Spring MVC controllers
- Tests for remote RestTemplate calls (using mocking)
- End-to-end integration tests (hitting a real HTTP endpoint)
We’ll also look a little bit at the internals of Spring’s testing support and pick apart how the magic actually works.

Read more...

Webinar Replay: Bootiful CQRS with Axon - Nov 16

Speakers: Josh Long, Allard Buijze

We get it already! Microservices let you decompose your application into small, singly-focused, reusable and internally consistent bounded contexts - services - deployed over a network.

Great, but that still doesn’t help me get these systems to agree on the worldview of my domain! And that’s because…there is no world view of the model that is correct for all services involved.

Join Axon framework founder and lead, Allard Buijze at Trifork and Spring Developer Advocate Josh Long, for a look at how to integrate different systems with different read and write characteristics using Axon, a CQRS (Command Query Responsibility Segregation) framework that builds on Spring and Spring Boot.

Read more...

Spring Integration 5.0 Milestone 1 Available

We are pleased to announce that the first milestone for the 5.0 version of Spring Integration is now available.

This is a new major version, based on Spring Framework 5.0 and requires Java 8; this is the biggest change so far, but the following are also included:

  • The Java DSL is now rolled into the framework itself; there are some minor changes to the DSL, such as the removal of the .handleWithAdapter() methods and some general Factory classes. A complete discussion of the DSL changes can be found in the Migration Guide.

  • Upgrade to Spring Data Kay.

  • Upgrade to Spring AMQP 2.0.

  • First class support for TCP/UDP has been added to the DSL.

  • Spring Integration is now based on Reactor 3.0 and Messaging Gateway Promise methods now have to be changed to return Mono.

  • You can now configure mid-flow transactions via TransactionHandleMessageAdvice for adviceChain Messaging Annotations attribute and <transactional> sub-element when using XML configuration.

Read more...

Spring Statemachine 1.2.0.RC1 Released

We’re pleased to announce a release candicate of Spring Statemachine 1.2.0.RC1. Artifacts are available from Spring Repository.

What we got into this release:

  • Usual bug fixes and small enhancements
  • New api’s for tracing and monitoring
  • New monitoring sample
  • Full repository config support for Redis, MongoDB and JPA
  • Boot auto-config enhacements
  • Lot of documentation enhacements

Full changes as usual are available from changelog. We’re planning to fire up 1.2.0.RELEASE before xmas and possibly do a second release candicate if any major issues are found.

Read more...

Webinar Dec 8th: Awesome tools to level up your Spring Cloud architecture

Getting up and running with Spring Cloud is a breeze. But once the initial setup is done, it needs to be complemented with an ecosystem that can cope with the extra operational complexity and quality concerns. While running Spring Cloud in production for over a year, Pivotal has integrated some interesting tools for documentation, operations and testing. During this talk you will see a demo of an integrated platform based on Spring Cloud, including tools like Spring Cloud Contract, wiremock, saboteur, ELK, Spinnaker, Spring Boot Admin and more. One of these tools is a dashboard for visualising Pivotal’s Spring Cloud microservice architecture, which has recently been open sourced. Documenting, testing, troubleshooting, and monitoring highly distributed systems in microservice architectures are hard. Finding quality, complementary tools in the wilds of open source can be even harder. Join this webinar for a pragmatic look at taming some of the challenges of running microservices in production.

Read more...

SpringOne Platform 2016 Replay: Building Modern Web Applications with Angular2

Recorded at SpringOne Platform 2016.
Speaker: Sergi Almar
Slides: http://www.slideshare.net/SpringCentral/building-modern-web-applications-with-angular2

Web development has become more complex in the last few years with a plethora of frameworks to choose from and no clear direction. Join Sergi Almar in this presentation to learn why Angular2 is a good fit for Spring developers. We’ll review the Angular2 architecture and see how TypeScript allows us to build more maintable and clean applications having the benefits of a typed language. We’ll look at the Angular2 component based model, dependency injection, data binding, routing, templates…to build modern web applications.

Read more...

SpringOne Platform 2016 Replay: Netflix's Edge Gateway Using Zuul

Recorded at SpringOne Platform 2016.
Speaker: Mikey Cohen, Netflix
Slides: http://www.slideshare.net/SpringCentral/netflixs-edge-gateway-using-zuul

An edge gateway is an essential piece of infrastructure for large scale cloud based services. This presentation details the purpose, benefits and use cases for an edge gateway to provide security, traffic management and cloud cross region resiliency. How a gateway can be used to enhance continuous deployment, and help testing of new service versions and get service insights and more are discussed. Philosophical and architectural approaches to what belongs in a gateway vs what should be in services will be discussed. Real examples of how gateway services, built on top of Netflix’s Open source project, Zuul, are used in front of nearly all of Netflix’s consumer facing traffic will show how gateway infrastructure is used in real highly available, massive scale services.

Read more...