Web apps: a different angle
Spring {data,data-rest}
with
Angular.js and Bootstrap
Ioan Eugen Stan
About me - Ioan Eugen Stan
● founder & organizer of Bucharest JUG http://bjug.ro/
● Apache comitter and PMC - Apache James...
Why this talk?
Today’s web app needs to
● respond fast to user needs (easy to extend)
● share data with others (mash-up)
●...
What are we building?
REST services with Database persistance
and Angular JS client
Spring Data
● Spring umbrella project
● simplifies data access
● CRUD on steroids
● Declarative query methods
○ magic find...
Overview

http://www.infoq.com/articles/spring-data-intro
The “magic”

http://bearprogrammer.com/2012/03/26/simple-spring-data-example/
Magic Finder keywords
How to use
Spring Data
Spring Data Rest
● expose Repositories as REST endpoints
● uses SpringMVC
● Servlet based
● provides HATEOS
HATEOAS

http://azagorneanu.blogspot.ro/2013/06/hateoas-using-spring-framework.html
Spring Rest Shell
● command line REST tool
● explore and test HATEOS services
● demo
Webjars
●

Explicitly and easily manage the client-side
dependencies in JVM-based web apps

●

Use JVM-based build tools (...
Bootstrap

Sleek, intuitive, and powerful mobile first frontend framework for faster and easier web
development.
Build goo...
JavaScript library for web apps
● very clean MVC implementation
● clean data binding
● declarative UI (HTML)
● model is PO...
How it works

http://devgirl.org/2013/03/21/fun-with-angularjs/
Jasmine Maven Plugin
Maven plugin for the JavaScript testing
framework, Jasmine
● practice TDD/BDD as you write JavaScript...
Resources
●
●
●
●
●
●
●
●

app code here: https://github.com/ieugen/angular-ui
https://github.com/spring-projects/rest-she...
Contact
stan.ieugen@gmail.com
ieugen@apache.org
@ieugen222
ro.linkedin.com/in/ieugen/
https://github.com/ieugen/
Upcoming SlideShare
Loading in …5
×

2013 java2 days web apps - a different angle

1,312 views

Published on

Spring Data Rest web service with Angular.js client

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,312
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

2013 java2 days web apps - a different angle

  1. 1. Web apps: a different angle Spring {data,data-rest} with Angular.js and Bootstrap Ioan Eugen Stan
  2. 2. 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
  3. 3. 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
  4. 4. What are we building? REST services with Database persistance and Angular JS client
  5. 5. Spring Data ● Spring umbrella project ● simplifies data access ● CRUD on steroids ● Declarative query methods ○ magic finders ● single API for different technologies
  6. 6. Overview http://www.infoq.com/articles/spring-data-intro
  7. 7. The “magic” http://bearprogrammer.com/2012/03/26/simple-spring-data-example/
  8. 8. Magic Finder keywords
  9. 9. How to use Spring Data
  10. 10. Spring Data Rest ● expose Repositories as REST endpoints ● uses SpringMVC ● Servlet based ● provides HATEOS
  11. 11. HATEOAS http://azagorneanu.blogspot.ro/2013/06/hateoas-using-spring-framework.html
  12. 12. Spring Rest Shell ● command line REST tool ● explore and test HATEOS services ● demo
  13. 13. 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
  14. 14. Bootstrap Sleek, intuitive, and powerful mobile first frontend framework for faster and easier web development. Build good looking responsive web apps fast
  15. 15. JavaScript library for web apps ● very clean MVC implementation ● clean data binding ● declarative UI (HTML) ● model is POJO ● encourages modularity and unit testing
  16. 16. How it works http://devgirl.org/2013/03/21/fun-with-angularjs/
  17. 17. 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
  18. 18. Resources ● ● ● ● ● ● ● ● app code here: https://github.com/ieugen/angular-ui https://github.com/spring-projects/rest-shell http://projects.spring.io/spring-data/ http://projects.spring.io/spring-data-rest/ http://angularjs.org/ http://getbootstrap.com/ http://www.webjars.org/ http://www.slideshare.net/KubaKubryski/spring-data24027228
  19. 19. Contact stan.ieugen@gmail.com ieugen@apache.org @ieugen222 ro.linkedin.com/in/ieugen/ https://github.com/ieugen/

×