Top Banner
Web apps: a different angle Spring {data,data-rest} with Angular.js and Bootstrap Ioan Eugen Stan
19

2013 java2 days web apps - a different angle

May 10, 2015

Download

Technology

Ioan Stan

Spring Data Rest web service with Angular.js client
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2013 java2 days web apps - a different angle

Web apps: a different angle

Spring {data,data-rest} with

Angular.js and Bootstrap

Ioan Eugen Stan

Page 2: 2013 java2 days web apps - a different angle

About me - Ioan Eugen Stan

● founder & organizer of Bucharest JUG http://bjug.ro/● Apache comitter and PMC - Apache James & Apache

Provisionr (Incubator)● Debian user and contributor - maintainer wanabee● OpenJDK supporter

Page 3: 2013 java2 days web apps - a different angle

Why this talk?

Today’s web app needs to

● respond fast to user needs (easy to extend)

● share data with others (mash-up)

● be mobile (friendly)

● scale well

Page 4: 2013 java2 days web apps - a different angle

What are we building?REST services with Database persistance

and Angular JS client

Page 5: 2013 java2 days web apps - a different angle

Spring Data

● Spring umbrella project

● simplifies data access

● CRUD on steroids

● Declarative query methods○ magic finders

● single API for different technologies

Page 6: 2013 java2 days web apps - a different angle

Overview

http://www.infoq.com/articles/spring-data-intro

Page 7: 2013 java2 days web apps - a different angle

The “magic”

http://bearprogrammer.com/2012/03/26/simple-spring-data-example/

Page 8: 2013 java2 days web apps - a different angle

Magic Finder keywords

Page 9: 2013 java2 days web apps - a different angle

How to use Spring Data

Page 10: 2013 java2 days web apps - a different angle

Spring Data Rest

● expose Repositories as REST endpoints

● uses SpringMVC

● Servlet based

● provides HATEOS

Page 11: 2013 java2 days web apps - a different angle

HATEOAS

http://azagorneanu.blogspot.ro/2013/06/hateoas-using-spring-framework.html

Page 12: 2013 java2 days web apps - a different angle

Spring Rest Shell

● command line REST tool

● explore and test HATEOS services

● demo

Page 13: 2013 java2 days web apps - a different angle

Webjars

● Explicitly and easily manage the client-side

dependencies in JVM-based web apps

● Use JVM-based build tools (e.g. Maven,

Gradle, & SBT)

● Transitive dependencies magically appear

Page 14: 2013 java2 days web apps - a different angle

Bootstrap

Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web

development.

Build good looking responsive web apps fast

Page 15: 2013 java2 days web apps - a different angle

JavaScript library for web apps

● very clean MVC implementation

● clean data binding

● declarative UI (HTML)

● model is POJO

● encourages modularity and unit testing

Page 16: 2013 java2 days web apps - a different angle

How it works

http://devgirl.org/2013/03/21/fun-with-angularjs/

Page 17: 2013 java2 days web apps - a different angle

Jasmine Maven Plugin

Maven plugin for the JavaScript testing framework, Jasmine

● practice TDD/BDD as you write JavaScript● run frontend tests at the same time with

back-end