close

The Joy of Mustache: Server Side Templates for the JVM

I don’t do much server-side templating, but when I do…​ well frankly, I tend to forget things. Every template language has its strengths and weaknesses, and they all have syntax to remember, and more frequently to forget. Recently I completed some work on the old Spring Petclinic, converting it to use Thymeleaf in the view layer, and re-organizing the code to be a bit more "modern". I enjoyed working with Thymeleaf 3, and found it a pleasant experience, but had to spend a lot of time scanning documentation and samples. Then I had another little project that needed some templates, and I remembered my fondness for Mustache, which we added to Spring Boot back in version 1.2, and which plays an important role in the excellent Spring REST Docs tool. I added spring-boot-starter-mustache to my new project, and was up and running within seconds.

Read more

SpringOne Platform 2016 Replay: Building applications with Angular JS and Spring Security

Recorded at SpringOne Platform 2016.
Speaker: Dr. David Syer
Slides: http://www.slideshare.net/SpringCentral/building-applications-with-angular-js-and-spring-security

In this presentation we show some nice features of Spring Security, Spring Boot and Angular JS working together to provide a pleasant and secure user experience. Things to consider are cookies, headers, native clients, various security vulnerabilities and how modern browser technology can help us to avoid them. In this series we show how nicely features of the component frameworks can be integrated simply to provide a pleasant and secure user experience. We start with a very basic single-server implementation and scale it up in stages, splitting out backend resources and authentication to separate services.

Read more

SpringOne Platform 2016 Replay: To Spring Security 4.1 and Beyond

Recorded at SpringOne Platform 2016.
Speakers: Rob Winch, Joe Grandja
Slides: http://www.slideshare.net/SpringCentral/to-spring-security-41-and-beyond

Exploits are continually evolving making security hard. This is compounded by the fact that the technologies we need to secure are a moving target.

In this talk we will discuss how to easily secure an application with Spring Security 4.1. We will focus on some of the new features found in Spring Security 4.1 and discuss the future direction of Spring Security.

Read more

This Week in Spring - November 15th, 2016

Welcome to another installment of This Week in Spring! Time sure is flying! We’ve got so much to get into this week. Can you believe we’re staring down 2017? We’ve got so much to cover so let’s get to it!

Read more

SpringOne Platform 2016 Replay: DDD & REST - Domain Driven APIs for the web

Recorded at SpringOne Platform 2016.
Slides: http://www.slideshare.net/SpringCentral/ddd-rest-domain-driven-apis-for-the-web

While Domain Driven Design is supposed to take care of complexity in the very core of software, REST is usually treated a plain remoting technology. In this talk we’re going to explore some commonalities of the two when it comes to the design of both the domain and resources. We’re going to discover how a good domain design is essential to build a great REST API in the first place and which means REST provides to make your APIs more domain driven. From all of the building blocks of DDD, the talk identifies the ones most important when it comes to building a good REST API: we’re going to look at aggregates as natural boundaries for representations, repositories as the backing foundation for collection resources and how hypermedia allows to make domain specific state transitions explicit.

Read more

SpringOne Platform 2016 Replay: From Imperative To Reactive Web Apps

Recorded at SpringOne Platform 2016.
Speaker: Rossen Stoyanchev
Slides: http://www.slideshare.net/SpringCentral/imperative-to-reactive-web-applications

The reactive programming model involves a fundamental shift from imperative to non-blocking logic and understanding what that means on the most basic level is an essential and required first step. In this talk we’ll start by introducing reactive programming and discuss how it impacts application design. Then we’ll take a look at the building blocks from a Java developer’s perspective. Finally we’ll complete the picture by checking out the upcoming Spring 5 support for reactive web applications.

Read more

Vaadin Spring 1.1 - build web UIs that hook right to your Java backend

This post is a guest post by community member Matti Tahvonen (@MattiTahvonen), who works as a developer advocate in Vaadin Ltd, the company that originally developed Vaadin Framework and provides commercial services and extensions for it.

The first stable release of the official Spring integration library for Vaadin was released a bit over a year ago. The feedback has been great and many Spring developers, who have wanted to stay on the safe “backend side”, have discovered a new way to use their existing Java skills to build good-looking web UIs. Using Vaadin Spring, your UI code lives in Spring managed beans and the integration with your Spring based backend becomes trivial.

Read more

Spring IO Platform Athens-SR1

I am pleased to announce that Spring IO Platform Athens-SR1 is now available from both repo.spring.io and Maven Central.

This maintenance release upgrades the versions of a number of the projects in the Platform:

  • Spring AMQP 1.6.5.RELEASE
  • Spring Boot 1.4.2.RELEASE
  • Spring Data Hopper SR5
  • Spring Framework 4.3.4.RELEASE
  • Spring Integration 4.3.5.RELEASE
  • Spring Security OAuth 2.0.12.RELEASE

The versions of a number of third-party dependencies have also been updated.

Project Page | GitHub | Issues | Documentation

Read more

Spring Data Geode 1.0.0.INCUBATING-RELEASE Released

On behalf of the Spring and Apache Geode communities, I am extremely pleased and excited to announce the release of Spring Data for Apache Geode 1.0.0-incubating.

You can get the bits from Maven Central by including the following dependency in either your application Maven POM or Gradle build file…

Maven

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-geode</artifactId>
  <version>1.0.0.INCUBATING-RELEASE</version>
</dependency>

Gradle

compile 'org.springframework.data:spring-data-geode:1.0.0.INCUBATING-RELEASE'
Read more