First8 staat voor vakmanschap. Al onze collega’s zijn een groot aanhanger van Open Source en in het bijzonder het Java-platform. Wij zijn gespecialiseerd in het pragmatisch ontwikkelen van bedrijfskritische Java toepassingen waarbij integratie van systemen, hoge eisen aan beveiliging en veel transacties een belangrijke rol spelen. Op deze pagina vind je onze blogs.

Testing with state using GraphWalker | Part 1 – Persistence

In this first installment of Testing with state using GraphWalker, we’ll look at integration testing the persistence layer of a Spring application. So, our tests will target the database and the data repositories. Statefulness The database itself is inherently stateful. As a result, if we connect a data repository to an actual database, it will also show stateful behavior. For … Lees verder Testing with state using GraphWalker | Part 1 – Persistence

Grails 3.1 Released

Many milestone builds and release candidates later, the official Grails 3.1 shipped a few days ago!

OCI, the new Grails home, summarizes what’s new in this release:

  • Grails 3.1 comes with Spring Boot 1.3 and Spring 4.2, enabling you to produce runnable JAR files that embed Tomcat, Jetty or other containers. In addition you can use Spring Cloud with Grails 3.1 to build Cloud Native applications.
  • Grails 3.1 features new support for expandable application profiles, allowing developers to build application creation templates that target a range of different tasks.
  • Grails 3.1 features new profiles for building REST applications and Single Page Applications (SPA) using AngularJS. The REST profile features a focused environment that helps developers quickly spin-up REST servers, easily deployable either standalone or to modern Java application servers.
  • The new AngularJS profile in Grails 3.1 helps developers quickly become productive building Single Page Applications (SPA) using AngularJS. By integrating seamlessly with tools such as Bower and Karma, the AngularJS profile provides everything you need to build, run and deploy AngularJS applications backed by Grails.
  • Grails 3.1 comes with GORM 5, a ground-up rewrite of the innovative data access framework that comes with Grails. Featuring new support for the graph database Neo4j, as well as enhanced support for MongoDB 3 and Hibernate 5, GORM 5 provides all the tools necessary to integrate modern backend applications with your database.

The latest Grails documentation also has a What’s new in Grails 3.1 section.

Upgrading from a Grails 3.0 application or plugin generally requires just an version update to but there might be some manual things to do as described in the Upgrading from Grails 3.0 section.

Grails Expert Tip #8 – There’s a Bean for That

Recently I code reviewed some of the Grails (2.4.5) code of another team (of course 🙂 ) and here’s a snippet I came across. In some “search helper service”:

This team somehow needed some ‘generic’ way of counting the amount of records in the database, I thought. First questions which popped up were: what can be put in the passed collection? … Lees verder Grails Expert Tip #8 – There’s a Bean for That

Using SwitchUser functionality in Spring

If you are developing a website with external users, those users might require support. For the people providing support, it can be quite convenient to be able to log in as a user and see the application through their eyes. In this blog post we’ll visit some of the components Spring 3 provides to handle this kind of feature. Switching … Lees verder Using SwitchUser functionality in Spring

Search Engine Optimization and URL based Locales in Spring

When building a public website, Search Engine Optimization (SEO) plays an important role. If you need internationalization (i18n) support on your site as well, Spring’s default handling is not really optimal for SEO. This blog is about how to deal with i18n in Spring in a way optimized for SEO. Spring’s default Spring MVC has native support for internationalization, the feature … Lees verder Search Engine Optimization and URL based Locales in Spring