SlideShare a Scribd company logo
Grails Spring Boot
Spring Boot
By Bhagwat Kumar
AGENDA
1. What and why?
2. Key features ofSpring boot
3. Prototyping usingCLI
4. Gradle primer
5. Managing profiles aka environment in grails
6. Using Spring data libraries e.g. MongoDB
7. UsingGORM
8. Presentation layer
9. UsingGSP
• Its not a replacement for Spring framework but it presents a small
surface area for usersto approach and extract value from the rest of
Spring
• Spring-boot provides a quick way to create a Spring based
application from dependency management to convention over
configuration
• Grails 3.0will be based on Spring Boot
WHAT & WHY?

Recommended for you

Spring boot
Spring bootSpring boot
Spring boot

This document contains an agenda and slides for a presentation on Spring Boot. The presentation introduces Spring Boot, which allows developers to rapidly build production-grade Spring applications with minimal configuration. It demonstrates how to quickly create a "Hello World" application using Spring Boot and discusses some of the features it provides out-of-the-box like embedded servers and externalized configuration. The presentation also shows how to add additional functionality like Thymeleaf templates and actuator endpoints to monitor and manage applications.

springspring-bootjava
Spring Boot
Spring BootSpring Boot
Spring Boot

Spring Boot is a framework for creating stand-alone, production-grade Spring based applications that can be "just run". It takes an opinionated view of the Spring platform and third-party libraries so that new and existing Spring developers can quickly get started with minimal configuration. Spring Boot aims to get developers up and running as quickly as possible with features like embedded HTTP servers, automatic configuration, and opinions on structure and dependencies.

spring frameworkjavaspring boot
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator

This document provides information on using Spring Boot Actuator to add production-ready features like health monitoring, metrics collection, and auditing to Spring Boot applications. It describes built-in endpoints like /health and /metrics that provide health checks and application metrics. It also shows how to add custom health indicators, record custom metrics, and export metrics to external systems.

java spring jvm groovy microservice api
• Stand-alone Springapplications
• No code generation/ No XML Config
• Automatic configuration by creating sensible defaults
• Starterdependencies
• Structure your code as you like
• Supports Gradle andMaven
• Common non-functional requirements for a "real" application
- embedded servers,
- security, metrics, healthchecks
- externalized configuration
KEY FEATURES
• Quickest way to get a spring app off the ground
• Allows you to run groovy scripts without much boilerplate code
• Not recommended forproduction
RAPID PROTOTYPING : SPRING CLI
@Controller
classExample{
@RequestMapping("/")
@ResponseBody
public StringhelloWorld(){
"Hello Spring bootaudience!!!"
}
}
GETTING STARTED REALLY QUICKLY
// importorg.springframework.web.bind.annotation.Controller
// otherimports...
//@Grab("org.springframework.boot:spring-boot-web-starter:0.5.0")
//@EnableAutoConfiguration
@Controller
classExample{
@RequestMapping("/")
@ResponseBody
publicStringhello(){
return"HelloWorld!";
}
// public static void main(String[]args){
// SpringApplication.run(Example.class,args);
// }
}
WHAT JUST HAPPENED?

Recommended for you

Spring framework Introduction
Spring framework IntroductionSpring framework Introduction
Spring framework Introduction

This file contains the Spring Framework introduction. Mainly about what is Spring Framework and its components, feature, advantages with a simple program example.

springadvanced javaadvantage
Spring MVC
Spring MVCSpring MVC
Spring MVC

The document describes the Spring MVC request lifecycle and how requests are handled in Spring MVC. It discusses how the DispatcherServlet receives requests and uses handler mappings to determine which controller should handle each request. It then describes how controllers process requests, returning a ModelAndView which is used to render the view. It also provides details on configuring controllers, view resolvers, and handler mappings, as well as examples of different types of controllers like command, form, and multi-action controllers.

emprovisespringmvc
• One-stop-shop for all the Spring and related technology
• A set of convenient dependency descriptors
• Contain a lot of the dependencies that you need to get a project up
and runningquickly
• All starters follow a similarnaming pattern;
• spring-boot-starter-*
• Examples
-spring-boot-starter-web
- spring-boot-starter-data-rest
- spring-boot-starter-security
- spring-boot-starter-amqp
- spring-boot-starter-data-jpa
- spring-boot-starter-data-elasticsearch
- spring-boot-starter-data-mongodb
- spring-boot-starter-actuator
STARTER POMs
DEMO: STARTER POMs
LETS GO BEYOND PROTOTYPING : GRADLE
task hello <<{
println "Hello!!!!"
}
task greet<<{
println "Welocome Mr.Kumar"
}
task intro(dependsOn: hello)<<{
println "I'mGradle"
}
hello <<{println "Hello extended!!!!" }
greet.dependsOn hello,intro
// gradletasks
// gradleintro
:listall the available tasks
:executes introtask
// gradle -q greet :bare build output
// gradle --daemon hello:subsequent execution wil be fast
BUILD.GRADLE

Recommended for you

Spring Boot
Spring BootSpring Boot
Spring Boot

Spring Boot is an open source Java-based framework that makes it easy to create stand-alone, production-grade Spring based Applications. It provides features such as embedded HTTP servers, externalized configuration, and metrics. Spring Boot uses auto-configuration and starters to minimize configuration work. The main intention of Spring Boot starters is to combine common dependencies into single dependencies to simplify dependency management. Spring Boot also provides auto-configuration to avoid explicit configuration of components like views and ViewResolvers.

springjavaspring boot
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot

This document provides an overview of developing a web application using Spring Boot that connects to a MySQL database. It discusses setting up the development environment, the benefits of Spring Boot, basic project structure, integrating Spring MVC and JPA/Hibernate for database access. Code examples and links are provided to help get started with a Spring Boot application that reads from a MySQL database and displays the employee data on a web page.

spring boot
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators

JOHN HUMPHREYS VP OF ENGINEERING INFRASTRUCTURE SYSTEMS, NOMURA Spring Boot is a modern and extensible development framework that aims (and succeeds!) to take as much pain as possible out of developing with Java. With just a few Maven dependencies, new or existing programs become runnable, init.d-compliant uber-JARs or uber-WARs with embedded web-servers and virtually zero-configuration, code or otherwise. As an added freebie, Spring Boot Actuator will provide your programs with amazing configuration-free production monitoring facilities that let you have RESTFUL endpoints serving live stack-traces, heap and GC statistics, database statuses, spring-bean definitions, and password-masked configuration file audits.

apply plugin:"groovy"
//look for sources in src/main/groovyfolder
//inherits java plugin: src/main/javafolder
// tasks compileJava, compileGroovy, build, clean
sourceCompatibility =1.6
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.6'
compile "org.apache.commons:commons-lang3:3.0.1"
testCompile "junit:unit:4.+"
}
BUILD.GRADLE: USING PLUGIN AND
ADDING DEPENDENCIES
apply plugin:'groovy'
apply plugin:'idea'
apply plugin:'spring-boot'
buildscript{
repositories {mavenCentral()}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.8.RELEASE")
classpath 'org.springframework:springloaded:1.2.0.RELEASE'
}
}
idea {
module {inheritOutputDirs
=false
outputDir =file("$buildDir/classes/main/")
}
}
repositories {mavenCentral() }
dependencies {
compile 'org.codehaus.groovy:groovy-all'
compile 'org.springframework.boot:spring-boot-starter-web'
}
BUILD.GRADLE: FOR SPRING BOOT APP
WITH HOT RELOADING
• Put application.properties/application.yml somewhere in classpath
• Easy one: src/main/resourcesfolder
ENVIRONMENT AND PROFILE AKA GRAILS
CONFIG
Using ConfigurationProperties annotation
import org.springframework.boot.context.properties.ConfigurationProperties
importorg.springframework.stereotype.Component
@Component
@ConfigurationProperties(prefix="app")
class AppInfo {
String name
Stringversion
}
Using Valueannotation
importorg.springframework.beans.factory.annotation.Value
importorg.springframework.stereotype.Component
@Component
classAppConfig{
@Value('${app.name}')
StringappName
@Value('${server.port}')
Integerport
}
BINDING PROPERTIES

Recommended for you

Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHPGetting out of Callback Hell in PHP
Getting out of Callback Hell in PHP

Sneak peeks at a PHP library that simplifies the asynchronous code, just like `async` and `await` in ES7 Javascript.

phpasycyield
OCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertionsOCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertions

The document contains sample questions and explanations for the OCP Java SE 8 exam related to exceptions and assertions. It includes multiple choice questions about exception handling, try-catch blocks, and assertion failures. The explanations provide details about which exceptions would be thrown and the output of code snippets.

java examjava quizjava sample questions
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction

Welcome to presentation on Spring boot which is really great and relatively a new project from Spring.io. Its aim is to simplify creating new spring framework based projects and unify their configurations by applying some conventions. This convention over configuration is already successfully applied in so called modern web based frameworks like Grails, Django, Play framework, Rails etc.

spring bootspring boot cli
OS envvariable
export SPRING_PROFILES_ACTIVE=development
export SERVER_PORT=8090
gradle bootRun
java -jarbuild/libs/demo-1.0.0.jar
with a -D argument (remember to put it before the main class or jararchive)
java -jar -Dspring.profiles.active=development build/libs/dem-1.0.0.jar
java -jar -Dserver.port=8090build./libs/demo-1.0.0.jar
EXAMPLES
• Add dependency
compile 'org.springframework.boot:spring-boot-starter-data-mongodb'
• Configure database URL
spring.data.mongodb.uri=mongodb://localhost/springtestdev
• Add entityclass
importorg.springframework.data.annotation.Id;
classPerson{@IdStringid, Stringname}
• Add repositoryinterface
importorg.springframework.data.mongodb.repository.MongoRepository
public interface PersonRepositoryextendsMongoRepository<Person, String> {}
• Autowire and use like charm
@AutowiredPersonRepository personRepository
personRepository.save(new Person(name:'SpringBoot'))
personRepository.findAll()
personRepository.count()
USING SPRING DATA
• Add dependencies to use GORM-Hibernate
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'org.grails:gorm-hibernate4-spring-boot:1.1.0.RELEASE'
runtime 'com.h2database:h2' //for h2database
• Add entity with@grails.persistence.entity
importgrails.persistence.Entity
@Entity
class Person{
Stringname;
Integerage
static constraints ={
name blank:false
age min:15
}
}
• For GORM MongoDB use the following dependencies
compile 'org.grails:gorm-mongodb-spring-boot:1.1.0.RELEASE'
NEXT LEVEL PERSISTENCE WITH GORM
• JSP/JSTL
• Thymeleaf
• Freemarker
• Velocity
• Tiles
• GSP
• Groovy TemplateEngine
SERVER SIDE VIEW TEMPLATE LIBRARIES

Recommended for you

spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf

dans ce cours, vous apprendrez les principes fondamentaux de framework spring boot

spring boot
Spring mvc
Spring mvcSpring mvc
Spring mvc

This document provides an overview of Spring MVC including: - The MVC design pattern and how Spring MVC implements it with a front controller and other components. - Configuring Spring MVC in a web application using XML or Java configuration. - Defining controllers with annotations like @Controller and @RequestMapping and mapping requests to controller methods. - Other Spring MVC concepts covered include the DispatcherServlet, handler mappings, view resolution, form handling, and validation.

springmvc
Spring Boot
Spring BootSpring Boot
Spring Boot

Spring Boot is a framework that makes it easy to create stand-alone, production-grade Spring based applications that you can "just run". It allows you to create stand-alone applications, embed Tomcat/Jetty directly with no need to deploy WAR files, and provides starter POMs to simplify configuration. Spring Boot applications are run by adding a spring-boot-gradle-plugin and can then be run as an executable JAR. Features include REST endpoints, security, external configuration, and production monitoring via Actuators.

microservicesrestspring framework
• Very limited existing tags available
https://github.com/grails/grails-boot/issues/3
• Add dependency
compile "org.grails:grails-gsp-spring-boot:1.0.0.RC1"
compile "org.grails:grails-web:2.4.0.M2"
• Put gsptemplates in resources/templates folder
GSP
• Sample requesthandler
@RequestMapping("/show/{id}")
public ModelAndView show(@PathVariableLong id){
Person person =Person.read(id)
if(person) {
new ModelAndView("/person/show",[personInstance:Person.get(id)])
}else{
log.info "No entity fount for id:"+id
newModelAndView("redirect:/person/list")
}
}
GSP CONTINUED
@grails.gsp.TagLib
@org.springframework.stereotype.Component
class ApplicationTagLib{
static namespace ="app"
def paginate ={attrs ->
String action =attrs.action
Integer total =attrs.total
Integer currentPage =attrs.currentPage ?:1
Integer pages =(total / 10)+1
out <<render(template:"/shared/pagination",
model: [action: action, total:total,
currentPage:currentPage, pages:pages]
)
}
}
<app:paginate
total="${personInstanceCount ?:0}"
currentPage="${currentPage}"
action="/person/list"/>
GRAILS TAGLIB
Packaging as jar with embedded tomcat
$gradle build
$java -jarbuild/libs/mymodule-0.0.1-SNAPSHOT.jar
Packaging as war :configurebuild.groovy
//...
apply plugin:'war'
war{
baseName ='myapp'
version ='0.5.0'
}
//....
configurations {
providedRuntime
}
dependencies{
compile("org.springframework.boot:spring-boot-starter-web")
providedRuntime("org.springframework.boot:spring-boot-
starter-tomcat")
// ...
}
$gradle war
PACKAGING EXECUTABLE JAR AND WAR
FILES

Recommended for you

Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data

Une riche présentation de Mapping Objet Relationnel qui traite le standard JPA et l’implémentation Hibernate en les intégrant avec le frammework IOC spring.

spring jpajpahibernate jpa
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and MockitoAn Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito

This document provides an overview of JUnit 5, including its components and features. It introduces JUnit 5 as an improvement over JUnit 4, released in 2017 to work with Java 8+. JUnit 5 consists of the Platform, Jupiter, and Vintage. The Platform provides test discovery and execution. Jupiter supports writing new tests with annotations and extensions. Vintage allows running old JUnit 3 & 4 tests on the platform. New features discussed include assertions, assumptions, display names, tags, repetition, and parameterization. It also covers using JUnit 5 with Spring tests and Mockito.

junit 5junitspring-boot
Use groovy & grails in your spring boot projects
Use groovy & grails in your spring boot projectsUse groovy & grails in your spring boot projects
Use groovy & grails in your spring boot projects

A presentation about the use of Groovy and Grails in Spring Boot applications presented in Greach Conference

groovygrailsspringboot
Contact us
Our Office
Client
Location
Click Here To Know More!
Have more queries on Grails?
Talk to our GRAILS experts
Now!
Talk To Our Experts
Here's how the world's
biggest Grails team is
building enterprise
applications on Grails!

More Related Content

What's hot

Spring annotation
Spring annotationSpring annotation
Spring annotation
Rajiv Srivastava
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
Antoine Rey
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
Jonathan Holloway
 
Spring boot
Spring bootSpring boot
Spring boot
sdeeg
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Pei-Tang Huang
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
Rowell Belen
 
Spring framework Introduction
Spring framework IntroductionSpring framework Introduction
Spring framework Introduction
Anuj Singh Rajput
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
Emprovise
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaydeep Kale
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
Santosh Kumar Kar
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
VMware Tanzu
 
Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHPGetting out of Callback Hell in PHP
Getting out of Callback Hell in PHP
Arul Kumaran
 
OCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertionsOCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertions
Hari kiran G
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
Jeevesh Pandey
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
Jaouad Assabbour
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Harshit Choudhary
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaran Flaath
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
Lhouceine OUHAMZA
 
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and MockitoAn Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
shaunthomas999
 

What's hot (20)

Spring annotation
Spring annotationSpring annotation
Spring annotation
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
 
Spring framework Introduction
Spring framework IntroductionSpring framework Introduction
Spring framework Introduction
 
Spring security
Spring securitySpring security
Spring security
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
 
Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHPGetting out of Callback Hell in PHP
Getting out of Callback Hell in PHP
 
OCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertionsOCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertions
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and MockitoAn Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
 

Viewers also liked

Use groovy & grails in your spring boot projects
Use groovy & grails in your spring boot projectsUse groovy & grails in your spring boot projects
Use groovy & grails in your spring boot projects
Fátima Casaú Pérez
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
Lari Hotari
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
Josenaldo de Oliveira Matos Filho
 
Spring boot
Spring bootSpring boot
Schema 25.09.2010 rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001
Schema 25.09.2010   rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001Schema 25.09.2010   rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001
Schema 25.09.2010 rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001
OffshoreGroup™
 
Behavioural Marketing & how to get your customers to love you
Behavioural Marketing & how to get your customers to love youBehavioural Marketing & how to get your customers to love you
Behavioural Marketing & how to get your customers to love you
John Watton
 
Behavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love youBehavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love you
John Watton
 
C:\Fakepath\Nucleotide A H1 N1
C:\Fakepath\Nucleotide A H1 N1C:\Fakepath\Nucleotide A H1 N1
C:\Fakepath\Nucleotide A H1 N1
picardo123
 
Markatalyst Overview
Markatalyst OverviewMarkatalyst Overview
Markatalyst Overview
CJ Glynn
 
Jaarovergang in itslearning
Jaarovergang in itslearningJaarovergang in itslearning
Jaarovergang in itslearning
IT-Workz
 
Open Day Presentation
Open Day Presentation Open Day Presentation
Open Day Presentation
sallyross
 
Investor communications highlights
Investor communications highlightsInvestor communications highlights
Investor communications highlights
Peter Gallagher
 
Behavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love youBehavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love you
John Watton
 
Portfolio
PortfolioPortfolio
Portfolio
labbott82
 
Michacle angelo
Michacle angeloMichacle angelo
Michacle angelo
sathma
 
Getting groovier-with-vertx
Getting groovier-with-vertxGetting groovier-with-vertx
Getting groovier-with-vertx
TO THE NEW | Technology
 
Sergio Santos Portfolio
Sergio Santos PortfolioSergio Santos Portfolio
Sergio Santos Portfolio
Sergiossn
 
Open day presentation
Open day presentation Open day presentation
Open day presentation
sallyross
 
FUKUYAMA BASE WORKSHOP Vol14 Theme
FUKUYAMA BASE WORKSHOP Vol14 ThemeFUKUYAMA BASE WORKSHOP Vol14 Theme
FUKUYAMA BASE WORKSHOP Vol14 Theme
noteproject
 
Practicing Agile in Offshore Environment
Practicing Agile in Offshore EnvironmentPracticing Agile in Offshore Environment
Practicing Agile in Offshore Environment
TO THE NEW | Technology
 

Viewers also liked (20)

Use groovy & grails in your spring boot projects
Use groovy & grails in your spring boot projectsUse groovy & grails in your spring boot projects
Use groovy & grails in your spring boot projects
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
 
Spring boot
Spring bootSpring boot
Spring boot
 
Schema 25.09.2010 rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001
Schema 25.09.2010   rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001Schema 25.09.2010   rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001
Schema 25.09.2010 rigger o-3.2, borr- och brunntekniker vg2 - 16 v - r0001
 
Behavioural Marketing & how to get your customers to love you
Behavioural Marketing & how to get your customers to love youBehavioural Marketing & how to get your customers to love you
Behavioural Marketing & how to get your customers to love you
 
Behavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love youBehavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love you
 
C:\Fakepath\Nucleotide A H1 N1
C:\Fakepath\Nucleotide A H1 N1C:\Fakepath\Nucleotide A H1 N1
C:\Fakepath\Nucleotide A H1 N1
 
Markatalyst Overview
Markatalyst OverviewMarkatalyst Overview
Markatalyst Overview
 
Jaarovergang in itslearning
Jaarovergang in itslearningJaarovergang in itslearning
Jaarovergang in itslearning
 
Open Day Presentation
Open Day Presentation Open Day Presentation
Open Day Presentation
 
Investor communications highlights
Investor communications highlightsInvestor communications highlights
Investor communications highlights
 
Behavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love youBehavioural Marketing…or how to get your customers to love you
Behavioural Marketing…or how to get your customers to love you
 
Portfolio
PortfolioPortfolio
Portfolio
 
Michacle angelo
Michacle angeloMichacle angelo
Michacle angelo
 
Getting groovier-with-vertx
Getting groovier-with-vertxGetting groovier-with-vertx
Getting groovier-with-vertx
 
Sergio Santos Portfolio
Sergio Santos PortfolioSergio Santos Portfolio
Sergio Santos Portfolio
 
Open day presentation
Open day presentation Open day presentation
Open day presentation
 
FUKUYAMA BASE WORKSHOP Vol14 Theme
FUKUYAMA BASE WORKSHOP Vol14 ThemeFUKUYAMA BASE WORKSHOP Vol14 Theme
FUKUYAMA BASE WORKSHOP Vol14 Theme
 
Practicing Agile in Offshore Environment
Practicing Agile in Offshore EnvironmentPracticing Agile in Offshore Environment
Practicing Agile in Offshore Environment
 

Similar to Grails Spring Boot

Gradle - Build System
Gradle - Build SystemGradle - Build System
Gradle - Build System
Jeevesh Pandey
 
Gradle - Build system evolved
Gradle - Build system evolvedGradle - Build system evolved
Gradle - Build system evolved
Bhagwat Kumar
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
Eric Wendelin
 
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshotsEclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
simonscholz
 
Android gradle-build-system-overview
Android gradle-build-system-overviewAndroid gradle-build-system-overview
Android gradle-build-system-overview
Kevin He
 
Make Your Build Great Again (DroidConSF 2017)
Make Your Build Great Again (DroidConSF 2017)Make Your Build Great Again (DroidConSF 2017)
Make Your Build Great Again (DroidConSF 2017)
Jared Burrows
 
Spring boot wednesday
Spring boot wednesdaySpring boot wednesday
Spring boot wednesday
Vinay Prajapati
 
ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!
René Winkelmeyer
 
Eclipse Buildship JUG Hamburg
Eclipse Buildship JUG HamburgEclipse Buildship JUG Hamburg
Eclipse Buildship JUG Hamburg
simonscholz
 
Grails
GrailsGrails
Grails
Vijay Shukla
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
Guangyao Cao
 
JVM Web Frameworks Exploration
JVM Web Frameworks ExplorationJVM Web Frameworks Exploration
JVM Web Frameworks Exploration
Kevin H.A. Tan
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
zhang ghui
 
7 maven vsgradle
7 maven vsgradle7 maven vsgradle
7 maven vsgradle
Avitesh Kesharwani
 
OpenCms Days 2012 - Developing OpenCms with Gradle
OpenCms Days 2012 - Developing OpenCms with GradleOpenCms Days 2012 - Developing OpenCms with Gradle
OpenCms Days 2012 - Developing OpenCms with Gradle
Alkacon Software GmbH & Co. KG
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
Ryan Cuprak
 
Grunt & Front-end Workflow
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end Workflow
Pagepro
 
Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]
Ryan Cuprak
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
Ryan Cuprak
 

Similar to Grails Spring Boot (20)

Gradle - Build System
Gradle - Build SystemGradle - Build System
Gradle - Build System
 
Gradle - Build system evolved
Gradle - Build system evolvedGradle - Build system evolved
Gradle - Build system evolved
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshotsEclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
 
Android gradle-build-system-overview
Android gradle-build-system-overviewAndroid gradle-build-system-overview
Android gradle-build-system-overview
 
Make Your Build Great Again (DroidConSF 2017)
Make Your Build Great Again (DroidConSF 2017)Make Your Build Great Again (DroidConSF 2017)
Make Your Build Great Again (DroidConSF 2017)
 
Spring boot wednesday
Spring boot wednesdaySpring boot wednesday
Spring boot wednesday
 
ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!
 
Eclipse Buildship JUG Hamburg
Eclipse Buildship JUG HamburgEclipse Buildship JUG Hamburg
Eclipse Buildship JUG Hamburg
 
Grails
GrailsGrails
Grails
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
 
JVM Web Frameworks Exploration
JVM Web Frameworks ExplorationJVM Web Frameworks Exploration
JVM Web Frameworks Exploration
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
 
7 maven vsgradle
7 maven vsgradle7 maven vsgradle
7 maven vsgradle
 
OpenCms Days 2012 - Developing OpenCms with Gradle
OpenCms Days 2012 - Developing OpenCms with GradleOpenCms Days 2012 - Developing OpenCms with Gradle
OpenCms Days 2012 - Developing OpenCms with Gradle
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
 
Grunt & Front-end Workflow
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end Workflow
 
Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
 

More from TO THE NEW | Technology

10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!
TO THE NEW | Technology
 
10 Pragmatic UX techniques for building smarter products:
10 Pragmatic UX techniques for building smarter products:10 Pragmatic UX techniques for building smarter products:
10 Pragmatic UX techniques for building smarter products:
TO THE NEW | Technology
 
12 Key points which make Swift more effective than Objective C
12 Key points which make Swift more effective than Objective C12 Key points which make Swift more effective than Objective C
12 Key points which make Swift more effective than Objective C
TO THE NEW | Technology
 
Gulp - The Streaming Build System
Gulp - The Streaming Build SystemGulp - The Streaming Build System
Gulp - The Streaming Build System
TO THE NEW | Technology
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
TO THE NEW | Technology
 
Content migration to AEM
Content migration to AEMContent migration to AEM
Content migration to AEM
TO THE NEW | Technology
 
AWS CodeDeploy
AWS CodeDeployAWS CodeDeploy
AWS CodeDeploy
TO THE NEW | Technology
 
Big Data Expertise
Big Data ExpertiseBig Data Expertise
Big Data Expertise
TO THE NEW | Technology
 
An introduction to Object Oriented JavaScript
An introduction to Object Oriented JavaScriptAn introduction to Object Oriented JavaScript
An introduction to Object Oriented JavaScript
TO THE NEW | Technology
 
Object Oriented JavaScript - II
Object Oriented JavaScript - IIObject Oriented JavaScript - II
Object Oriented JavaScript - II
TO THE NEW | Technology
 
MongoDb and NoSQL
MongoDb and NoSQLMongoDb and NoSQL
MongoDb and NoSQL
TO THE NEW | Technology
 
(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software
(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software
(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software
TO THE NEW | Technology
 
MongoDB using Grails plugin by puneet behl
MongoDB using Grails plugin by puneet behlMongoDB using Grails plugin by puneet behl
MongoDB using Grails plugin by puneet behl
TO THE NEW | Technology
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
TO THE NEW | Technology
 
BigData Search Simplified with ElasticSearch
BigData Search Simplified with ElasticSearchBigData Search Simplified with ElasticSearch
BigData Search Simplified with ElasticSearch
TO THE NEW | Technology
 
JULY IN GRAILS
JULY IN GRAILSJULY IN GRAILS
JULY IN GRAILS
TO THE NEW | Technology
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
TO THE NEW | Technology
 
Introduction to Kanban
Introduction to KanbanIntroduction to Kanban
Introduction to Kanban
TO THE NEW | Technology
 
Introduction to Heroku
Introduction to HerokuIntroduction to Heroku
Introduction to Heroku
TO THE NEW | Technology
 
Node JS
Node JSNode JS

More from TO THE NEW | Technology (20)

10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!
 
10 Pragmatic UX techniques for building smarter products:
10 Pragmatic UX techniques for building smarter products:10 Pragmatic UX techniques for building smarter products:
10 Pragmatic UX techniques for building smarter products:
 
12 Key points which make Swift more effective than Objective C
12 Key points which make Swift more effective than Objective C12 Key points which make Swift more effective than Objective C
12 Key points which make Swift more effective than Objective C
 
Gulp - The Streaming Build System
Gulp - The Streaming Build SystemGulp - The Streaming Build System
Gulp - The Streaming Build System
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
Content migration to AEM
Content migration to AEMContent migration to AEM
Content migration to AEM
 
AWS CodeDeploy
AWS CodeDeployAWS CodeDeploy
AWS CodeDeploy
 
Big Data Expertise
Big Data ExpertiseBig Data Expertise
Big Data Expertise
 
An introduction to Object Oriented JavaScript
An introduction to Object Oriented JavaScriptAn introduction to Object Oriented JavaScript
An introduction to Object Oriented JavaScript
 
Object Oriented JavaScript - II
Object Oriented JavaScript - IIObject Oriented JavaScript - II
Object Oriented JavaScript - II
 
MongoDb and NoSQL
MongoDb and NoSQLMongoDb and NoSQL
MongoDb and NoSQL
 
(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software
(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software
(AWS) Auto Scaling : Evening Session by Amazon and IntelliGrape Software
 
MongoDB using Grails plugin by puneet behl
MongoDB using Grails plugin by puneet behlMongoDB using Grails plugin by puneet behl
MongoDB using Grails plugin by puneet behl
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 
BigData Search Simplified with ElasticSearch
BigData Search Simplified with ElasticSearchBigData Search Simplified with ElasticSearch
BigData Search Simplified with ElasticSearch
 
JULY IN GRAILS
JULY IN GRAILSJULY IN GRAILS
JULY IN GRAILS
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
 
Introduction to Kanban
Introduction to KanbanIntroduction to Kanban
Introduction to Kanban
 
Introduction to Heroku
Introduction to HerokuIntroduction to Heroku
Introduction to Heroku
 
Node JS
Node JSNode JS
Node JS
 

Recently uploaded

Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 

Recently uploaded (20)

Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 

Grails Spring Boot

  • 3. AGENDA 1. What and why? 2. Key features ofSpring boot 3. Prototyping usingCLI 4. Gradle primer 5. Managing profiles aka environment in grails 6. Using Spring data libraries e.g. MongoDB 7. UsingGORM 8. Presentation layer 9. UsingGSP
  • 4. • Its not a replacement for Spring framework but it presents a small surface area for usersto approach and extract value from the rest of Spring • Spring-boot provides a quick way to create a Spring based application from dependency management to convention over configuration • Grails 3.0will be based on Spring Boot WHAT & WHY?
  • 5. • Stand-alone Springapplications • No code generation/ No XML Config • Automatic configuration by creating sensible defaults • Starterdependencies • Structure your code as you like • Supports Gradle andMaven • Common non-functional requirements for a "real" application - embedded servers, - security, metrics, healthchecks - externalized configuration KEY FEATURES
  • 6. • Quickest way to get a spring app off the ground • Allows you to run groovy scripts without much boilerplate code • Not recommended forproduction RAPID PROTOTYPING : SPRING CLI
  • 9. • One-stop-shop for all the Spring and related technology • A set of convenient dependency descriptors • Contain a lot of the dependencies that you need to get a project up and runningquickly • All starters follow a similarnaming pattern; • spring-boot-starter-* • Examples -spring-boot-starter-web - spring-boot-starter-data-rest - spring-boot-starter-security - spring-boot-starter-amqp - spring-boot-starter-data-jpa - spring-boot-starter-data-elasticsearch - spring-boot-starter-data-mongodb - spring-boot-starter-actuator STARTER POMs
  • 11. LETS GO BEYOND PROTOTYPING : GRADLE
  • 12. task hello <<{ println "Hello!!!!" } task greet<<{ println "Welocome Mr.Kumar" } task intro(dependsOn: hello)<<{ println "I'mGradle" } hello <<{println "Hello extended!!!!" } greet.dependsOn hello,intro // gradletasks // gradleintro :listall the available tasks :executes introtask // gradle -q greet :bare build output // gradle --daemon hello:subsequent execution wil be fast BUILD.GRADLE
  • 13. apply plugin:"groovy" //look for sources in src/main/groovyfolder //inherits java plugin: src/main/javafolder // tasks compileJava, compileGroovy, build, clean sourceCompatibility =1.6 repositories { mavenCentral() } dependencies { compile 'org.codehaus.groovy:groovy-all:2.3.6' compile "org.apache.commons:commons-lang3:3.0.1" testCompile "junit:unit:4.+" } BUILD.GRADLE: USING PLUGIN AND ADDING DEPENDENCIES
  • 14. apply plugin:'groovy' apply plugin:'idea' apply plugin:'spring-boot' buildscript{ repositories {mavenCentral()} dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.8.RELEASE") classpath 'org.springframework:springloaded:1.2.0.RELEASE' } } idea { module {inheritOutputDirs =false outputDir =file("$buildDir/classes/main/") } } repositories {mavenCentral() } dependencies { compile 'org.codehaus.groovy:groovy-all' compile 'org.springframework.boot:spring-boot-starter-web' } BUILD.GRADLE: FOR SPRING BOOT APP WITH HOT RELOADING
  • 15. • Put application.properties/application.yml somewhere in classpath • Easy one: src/main/resourcesfolder ENVIRONMENT AND PROFILE AKA GRAILS CONFIG
  • 16. Using ConfigurationProperties annotation import org.springframework.boot.context.properties.ConfigurationProperties importorg.springframework.stereotype.Component @Component @ConfigurationProperties(prefix="app") class AppInfo { String name Stringversion } Using Valueannotation importorg.springframework.beans.factory.annotation.Value importorg.springframework.stereotype.Component @Component classAppConfig{ @Value('${app.name}') StringappName @Value('${server.port}') Integerport } BINDING PROPERTIES
  • 17. OS envvariable export SPRING_PROFILES_ACTIVE=development export SERVER_PORT=8090 gradle bootRun java -jarbuild/libs/demo-1.0.0.jar with a -D argument (remember to put it before the main class or jararchive) java -jar -Dspring.profiles.active=development build/libs/dem-1.0.0.jar java -jar -Dserver.port=8090build./libs/demo-1.0.0.jar EXAMPLES
  • 18. • Add dependency compile 'org.springframework.boot:spring-boot-starter-data-mongodb' • Configure database URL spring.data.mongodb.uri=mongodb://localhost/springtestdev • Add entityclass importorg.springframework.data.annotation.Id; classPerson{@IdStringid, Stringname} • Add repositoryinterface importorg.springframework.data.mongodb.repository.MongoRepository public interface PersonRepositoryextendsMongoRepository<Person, String> {} • Autowire and use like charm @AutowiredPersonRepository personRepository personRepository.save(new Person(name:'SpringBoot')) personRepository.findAll() personRepository.count() USING SPRING DATA
  • 19. • Add dependencies to use GORM-Hibernate compile 'org.springframework.boot:spring-boot-starter-data-jpa' compile 'org.grails:gorm-hibernate4-spring-boot:1.1.0.RELEASE' runtime 'com.h2database:h2' //for h2database • Add entity with@grails.persistence.entity importgrails.persistence.Entity @Entity class Person{ Stringname; Integerage static constraints ={ name blank:false age min:15 } } • For GORM MongoDB use the following dependencies compile 'org.grails:gorm-mongodb-spring-boot:1.1.0.RELEASE' NEXT LEVEL PERSISTENCE WITH GORM
  • 20. • JSP/JSTL • Thymeleaf • Freemarker • Velocity • Tiles • GSP • Groovy TemplateEngine SERVER SIDE VIEW TEMPLATE LIBRARIES
  • 21. • Very limited existing tags available https://github.com/grails/grails-boot/issues/3 • Add dependency compile "org.grails:grails-gsp-spring-boot:1.0.0.RC1" compile "org.grails:grails-web:2.4.0.M2" • Put gsptemplates in resources/templates folder GSP
  • 22. • Sample requesthandler @RequestMapping("/show/{id}") public ModelAndView show(@PathVariableLong id){ Person person =Person.read(id) if(person) { new ModelAndView("/person/show",[personInstance:Person.get(id)]) }else{ log.info "No entity fount for id:"+id newModelAndView("redirect:/person/list") } } GSP CONTINUED
  • 23. @grails.gsp.TagLib @org.springframework.stereotype.Component class ApplicationTagLib{ static namespace ="app" def paginate ={attrs -> String action =attrs.action Integer total =attrs.total Integer currentPage =attrs.currentPage ?:1 Integer pages =(total / 10)+1 out <<render(template:"/shared/pagination", model: [action: action, total:total, currentPage:currentPage, pages:pages] ) } } <app:paginate total="${personInstanceCount ?:0}" currentPage="${currentPage}" action="/person/list"/> GRAILS TAGLIB
  • 24. Packaging as jar with embedded tomcat $gradle build $java -jarbuild/libs/mymodule-0.0.1-SNAPSHOT.jar Packaging as war :configurebuild.groovy //... apply plugin:'war' war{ baseName ='myapp' version ='0.5.0' } //.... configurations { providedRuntime } dependencies{ compile("org.springframework.boot:spring-boot-starter-web") providedRuntime("org.springframework.boot:spring-boot- starter-tomcat") // ... } $gradle war PACKAGING EXECUTABLE JAR AND WAR FILES
  • 25. Contact us Our Office Client Location Click Here To Know More! Have more queries on Grails? Talk to our GRAILS experts Now! Talk To Our Experts Here's how the world's biggest Grails team is building enterprise applications on Grails!