Spring Tips: Configuration

speaker: Josh Long (@starbuxman)

Hi, Spring fans! Welcome to another installment of Spring tips! in this installment, we’re going to look at something that’s rather foundational, and something that I wish I’d addressed earlier: configuration. And no, I don’t mean functional configuration or java configuration or anything like that, I’m talking about the string values that inform how your code executes. the stuff that you put in application.properites. that configuration.

All configuration in Spring emanates from the Spring Environment abstraction. The Environment is sort of like a dictionary - a map with keys and values. Environment is just an interface through which we can ask questions about, you know, the Environment. The abstraction lives in Spring Framework and was introduced in Spring 3, more than a decade ago. up until that point, there was a focused mechanism to allow integration of configuration called property placeholder resolution. This environment mechanism and the constellation of classes around that interface more than supersede that old support. if you find a blog still using those types, may I suggest you move on to newer and greener pastures? :)

Read more

Spring Tools 4.6.1 released

Dear Spring Community,

I am happy to announce the 4.6.1 release of the Spring Tools 4 for Eclipse, Visual Studio Code, and Theia.

Highlights from this release include:

  • (Spring Boot) improvement: Spring yaml validation doesn’t understand the “<<:” syntax (#440)
  • (Spring Boot) improvement: YAML Property completion: Superclass properties not detected in case of List or Map (#449)
  • (Spring Boot) improvement: improved performance for content-assist for Spring XML config files
  • (Spring Boot) bugfix: Quick Fix for unknown properties broken (#442)
  • (Eclipse) improvement: early access builds on Eclipse 2020-06 milestone builds available
  • (Eclipse) improvement: reduced timeout for ls-based content-assist for the Java Editor, so broken or slow language server behavior should not damage JDT content-assist experience anymore
  • (Eclipse) improvement: vastly reduced communication traffic around classpath changes between Eclipse and the Spring Boot language server
  • (Eclipse) improvement: async retrieval of properties of remote apps in boot dashboard to avoid UI freezes or delays
  • (Eclipse) bugfix: org.eclipse.mylyn.wikitext.markdown required to update to 4.6.0 (#429)
  • (Eclipse) bugfix: remote targets in boot dashboard always re-appeared after deleting them
  • (Eclipse) bugfix: errors being logged at language server startup, related LSP4E rename handler
  • (VSCode): Visual Studio Code extensions now available from the marketplace
Read more

Spring HATEOAS brings you new ways to configure clients

Dear Spring community,

With Spring HATEOAS’s recent 1.1.0.M3 release, we bring you a new way to configure clients!

The first step in building hypermedia-based services may be configuring your server, which Spring HATEOAS has provided for a long time through its @EnableHypermediaSupport().

The next major step is building a client that can parse that hypermedia output. This has always been available, but it required you to know some of the deepest innards of the Spring Framework.

Until today.

With the latest version of Spring HATEOAS, it has been made much easier to configure RestTemplate, WebClient, or WebTestClient instances.

Read more

This Week in Spring - April 21st, 2020

Hi, Spring fans! Welcome to another installment of This Week in Spring! It’s been another fun-filled week since we last spoke. I just finished presenting an online talk for the Norwegian jaavBin Java User Group association - that was a ton of fun! - and now I’m preparing tomorrow’s “Spring Tips” installment.

And, without further ado, let’s get to it!

Read more

Spring Boot for Apache Geode & Pivotal GemFire 1.3.0.M4 Available

On behalf of the Spring, Apache Geode and Pivotal GemFire communities, it is my pleasure to announce the release of Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.3.0.M4.

SBDG 1.3.0.M4 builds on Spring Boot 2.3.0.M4 and is based on Spring Framework 5.2.5.RELEASE, Spring Data Neumann-RC1, Spring Session for Apache Geode & Pivotal GemFire (SSDG) 2.3.0.RC2 and Spring Test for Apache Geode & Pivotal GemFire (STDG) 0.0.14.RELEASE.

Additionally, SBDG 1.3.0.M4 is now based on Apache Geode 1.12.0 and Pivotal GemFire 9.10.0.

Read more

Spring Session for Apache Geode & Pivotal GemFire 2.3.0.RC2 Available

On behalf of the Spring, Apache Geode & Pivotal GemFire communities, it is my pleasure to announce the release of Spring Session for Apache Geode & Pivotal GemFire (SSDG) 2.3.0.RC2.

SSDG 2.3.0.RC2 builds on Spring Framework 5.2.5.RELEASE, Spring Data Neumann-RC1 and Spring Session core 2.3.0.RC1

SSDG 2.3.0.RC2 pulls in transitive dependencies determined by Spring Boot 2.3.0.M4. Indeed, SSDG 2.3.0.RC2 is suited to be used with Spring Boot 2.3.0.M4.

Release bits are available in Spring’s Milestone Repository.

Read more

Spring Cloud App Broker 1.0.5 released

We are pleased to announce the release of Spring Cloud App Broker 1.0.5. This release includes the following fixes and improvements:

  • Upgrade to Spring Boot 2.1.13.RELEASE
  • Allow a ServiceInstanceService bean to be provided by a consuming application
  • Correct an issue where the backing app environment was not being updated when the service instance was upgraded
  • If specified, the routes property now takes precedence over host, hosts, domain and domains properties
  • Correct an issue where synchronous binding and unbinding requests were not being properly handled
Read more

Spring Cloud 2020.0.0-M1 Released

On behalf of the community, I am pleased to announce that the Milestone 1 (M1) of the Spring Cloud 2020.0.0 (Code Name: Ilford) Release Train is available today. The release can be found in the Spring Milestone repository. You can check out the 2020 release notes for more information.

Notable Changes in the 2020 Release Train

We have changed our release train versioning scheme. We now follow Calendar Versioning or calver for short. We will follow the YYYY.MINOR.MICRO scheme where MINOR is an incrementing number that starts at zero each year. The MICRO segment corresponds to suffixes previously used: .0 is analogous to .RELEASE and .2 is analogous to .SR2. Pre-release suffixes will also change from using a . to a - for the separator, for example 2020.0.0-M1 and 2020.0.0-RC2. We will also stop prefixing snapshots with BUILD- – for example 2020.0.0-SNAPSHOT.

Read more

Spring Tips: The GraalVM Native Image Builder Feature

speaker: Josh Long (@starbuxman)

Hi, Spring fans! Welcome to another installment of Spring Tips. In this installment, we’re going to look at the new support just released for building Spring Boot applications with GraalVM. We’ve looked at GraalVM and native images in another Spring Tips when we looked at Spring Fu.

GraalVM is several things. It’s a C1 replacement for a standard OpenJDK install. You can listen to this episode of my podcast, A Bootiful Podcast, with GraalVM contributor and Twitter engineer Chris Thalinger, for more details on this use of GraalVM. It lets you run regular Sring applications faster in certain conditions, and so it’s worth exploring for that reason alone.

Read more