Gradle archetype for Spring applications

I am releasing a Gradle archetype useful for creating Java/Groovy applications based on Springframework. Of course, it is not a real archetype because such a creation is not possible. However, with very few steps you can create, edit and deploy an application server. It would be a most accommodating starting point for deployable software projects.

This release is an attempt to mitigate common issues related to development life-cycle phases such as testing, the running of application and deployment in various environments. The archetype leverages upon the flexible building process and on the top-most featured IoC (Inversion of Control) management system.

When creating application modules for linking services through HTTP, JMS or any other connector type, this archetype is refined and can be applied for satisfying these requirements:

  • Automatic testing, building and continuous integration.
  • A different configuration for each environment (development, integration, production).
  • Springframework based system.
  • Groovy support.

The project consists of:

  • Utility classes for given Spring context
  • Grails-like DSL for Spring setup (beans.groovy).
  • Logging and application configuration properties for each environment (development/integration/production).
  • Gradle config file.

Why Gradle?

Problems exist using Maven in Groovy projects due to the gmaven plugin, which may indicate that it is not ready for the groovy-user community. Indeed, Gradle works perfectly on Groovy projects. It is so concise and elastic that you don’t have just a building system, you have a programming tool. When a customized behaviours proper plugin cannot be found in the registry, you may add custom tasks by writing groovy code directly to the build.gradle descriptor. Gradle is a swiss army knife for developers.

Getting started

  • Run
git clone [email protected]:gfrison/proto-app.git myApp

where myApp is the name of your project.

  • Edit property ‘projectName’ in ‘build.gradle’ with project name.
  • Add classes, and manage them with spring ‘beans.groovy’.
  • You are now ready to test, run and deploy your project through a continuous integration system such as Jenkins.

If you have suggestions, or pull requests from Github, myself the author, would be happy to consider them.

2019

Photography Event in Bassano del Grappa

1 minute read

I’ve been since long time fascinated by photography and its power to capture my fantasy and attention. I was pretty delighted to attend artistic initiatives,...

Dynamic Programming

5 minute read

The term dynamic programming has a curious origin. When Richard Bellman late in the 1940s were seeking for a viral definition of his method, his boss was app...

Back to Top ↑

2018

First steps in Reinforcement Learning

2 minute read

Reinforcement learning covers a family of algorithms with the purpose of maximize a cumulative reward that an agent can obtain from an environment. It seems ...

Program Induction and Synthesis at ICML 2018

less than 1 minute read

The International Conference on Machine Learning ICML took place this year in Europe, in the beautiful city of Stockholm from 10th to 15th of July. This is ...

The Basic Principles of Language

4 minute read

What is this exhilarating noise come out of my mouth when I talk? Not surely because that precise sequence of sounds, pops and squeezes are particularly melo...

Concept Search by Word Embeddings

less than 1 minute read

Catalog search is one of the most important factor to the success of e-commerce sites and accurate and relevant results are critical to successful conversio...

Stochastic Conversational Workflows

less than 1 minute read

Traditionally, user interfaces are a series of screens and forms for exchanging informations with the user. Most of the applications start with a main screen...

Back to Top ↑

2017

Deeplearning in Text Classification

3 minute read

In the Divine Comedy, Minos is a daemon appointed to guard the entrance of the hell. He listens to the sins of souls and indicates them their destinations by...

Machine Comprehension on Chatbots

less than 1 minute read

One of the most demanded feature in chatbots is the ability to automatically provide helpful informations. Users might ask about how to pay the purchases onl...

Back to Top ↑

2012

SOA example application

2 minute read

SOA describes a set of patterns for creating loosely coupled, standards-based business-aligned services that, because of the separation of concerns betwee...

Gradle archetype for Spring applications

1 minute read

I am releasing a Gradle archetype useful for creating Java/Groovy applications based on Springframework. Of course, it is not a real archetype because such a...

Back to Top ↑

2011

Software architect mistakes

2 minute read

I think that to get up in the morning and brew a good cup of coffee is one of the best way to start the day. You know, the heady fragrance that emanates from...

Cool DSL with Groovy

2 minute read

Domain model design has never been confused with ‘ease’. From the dawn of its conception, generating executable Unified Modeling Language (UML) diagrams mean...

Back to Top ↑

2009

Powered by Apache Mina

3 minute read

The application being discussed has to behave as follows: performs the client authentication, accomplishes request and response operations and forwards notif...

Waltzing with the Tech Crunch

3 minute read

The economic crisis we’re currently going through is teaching some lessons to the Western countries, in particular to the Anglo-Saxons, that our grandparent...

Recruiter advisory Explicit lyrics

5 minute read

“I’m a people person, very personable. I absolutely insist on enjoying life. Not so task-oriented. Not a work horse. If you’re looking for a Clydesdale I’m p...

Back to Top ↑

2008

MDA on fire off the Shoulder of Orion

4 minute read

I must admit, frustration has increased over the years. I mean, interacting with the computer in terms of boolean, long, void. I’d rather sit on a sofa and ...

7 steps to MDA revolution

5 minute read

I didn’t believe that such a successful project was such a rare event in the IT industry, that’s why I’ve never caught another chance for applying the learn...

Chain of failures on blocking threads

3 minute read

I came back to Milano little time ago and I’ve bumped into an API implementation in this new job. This will be a library that aims to interact with a remote...

Let’s get Scrum

2 minute read

At school times the teacher used to quote an important saying: culture is what remains after we forget the things we studied thorougly. The concept is charm...

Back to Top ↑