SlideShare une entreprise Scribd logo
1  sur  18
OK lets start,
who am I ?
Nayden Gochev
(a.k.a. JOKe)
Java
Spring
Android
Hybris
GWT
EJB
JSF
RMI
JAX-RS
Struts
JMS
JPA
Hibernate
C#
ASP.NET
TestStudio
JustMock
WCF
JAX-WS
EntityFrameworkRichFaces
RadControls
DataAccess
MVC
MbUnit WebForms
JustCode
Eclipse
PHP
JavaScript
Objective-C
ExtJS
KendoUI
jQuery UI
jQuery
TFS
Spring MVC
AngularJS
Disclaimer ! …
Since I don’t like “some” technologies
1st) Instead of .NET I will probably say .NOT
(cuz you should NOT use it)
2th) PHP - I think this is the Visual Basic of our time…
you should write as less as possible otherwise your brain
will be permanently damaged, also I may call it
“ПъХъПъ” - for more info dreal.net
3th) Ruby is amazing for RAD ( you will see Java is as
well) but I believe it is only for demo purpose. Don’t write
anything that will be used by more then 5 users. Or ones
you hit 5 users write it in.. Java, Go, NodeJS(I mean
io.js)… something…Java ! (twitter devs knows)
Изграждане на REST
API с Java и Spring
But before that…
The Bulgarian Java User
Group
• http://java-bg.org
• http://groups.google.com/group/bg-jug
Agenda
• What is Spring ?
• What is Spring Boot?
• What is Hibernate
• What is JPA
• What is Spring Data?
• What is Spring Data Rest?
• You know what ReST is right ?
• Coding… coding… coding…
• Bla bla thank you… Beer ?
Spring aka Spring
Framework
• http://spring.io
• De facto standard used in 3 of 4 Java Web &
Enterprise Applications
• The Spring Framework is an open source
application framework and inversion of control
container for the Java platform. (there is
Spring.NET all .NOTers out there… but is it
dead??!?!?!!)
Spring Boot
• Spring Boot makes it easy to create stand-alone,
production-grade Spring based Applications that
you can "just run”.
• Most Spring Boot applications need very little
configuration.
Demo
Spring Data
• Makes it easy to use new data access
technologies, such as non-relational databases,
map-reduce frameworks, and cloud based data
services. Spring Data also provides improved
support for relational database technologies.
• This is an umbrella project which contains many
subprojects that are specific to a given database.
• http://projects.spring.io/spring-data/
Hibernate ORM
aka Hibernate
• Hibernate ORM enables developers to more easily
write applications whose data outlives the
application process. As an Object/Relational
Mapping (ORM) framework, Hibernate is
concerned with data persistence as it applies to
relational databases (via JDBC).
• In addition to its own "native" API, Hibernate is
also an implementation of the Java Persistence
API (JPA) specification.
Spring Data JPA
• Implementing a data access layer of an
application has been cumbersome for quite a
while. Too much boilerplate code
• Spring Data JPA aims to significantly improve the
implementation of data access layers by reducing
the effort to the amount that's actually needed.
REST ? anyone ?
• REST stands for Representational State Transfer.
(It is sometimes spelled “ReST".)
• REST is an architecture style for designing
networked applications. The idea is that, rather
than using complex mechanisms such as
CORBA, RPC, RMI or SOAP to connect between
machines, simple HTTP is used to make calls
between machines.
Spring Data Rest
• makes it easy to expose JPA based repositories
as RESTful endpoints.
Lets DO code
AAI
Contacts
Blog : http://gochev.org
Facebook: https://www.facebook.com/gochev
Linkedin: https://www.linkedin.com/in/gochev
Skype: joke.gochev
GitHub : https://github.com/gochev/

Contenu connexe

Tendances

Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
Vinay H G
 

Tendances (20)

Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8
 
Java Basics
Java BasicsJava Basics
Java Basics
 
JAVA BASICS
JAVA BASICSJAVA BASICS
JAVA BASICS
 
Java & advanced java
Java & advanced javaJava & advanced java
Java & advanced java
 
Java 8 Features
Java 8 FeaturesJava 8 Features
Java 8 Features
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
Javascript Best Practices
Javascript Best PracticesJavascript Best Practices
Javascript Best Practices
 
Java8
Java8Java8
Java8
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 
Core Java introduction | Basics | free course
Core Java introduction | Basics | free course Core Java introduction | Basics | free course
Core Java introduction | Basics | free course
 
Java 8 Lambda and Streams
Java 8 Lambda and StreamsJava 8 Lambda and Streams
Java 8 Lambda and Streams
 
Basics of Java
Basics of JavaBasics of Java
Basics of Java
 
Java SE 8 best practices
Java SE 8 best practicesJava SE 8 best practices
Java SE 8 best practices
 
Functional programming principles and Java 8
Functional programming principles and Java 8Functional programming principles and Java 8
Functional programming principles and Java 8
 
Multithreading and concurrency in android
Multithreading and concurrency in androidMultithreading and concurrency in android
Multithreading and concurrency in android
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
 
Java 8 Lambda Expressions & Streams
Java 8 Lambda Expressions & StreamsJava 8 Lambda Expressions & Streams
Java 8 Lambda Expressions & Streams
 
Advanced Javascript
Advanced JavascriptAdvanced Javascript
Advanced Javascript
 
Java 8 parallel stream
Java 8 parallel streamJava 8 parallel stream
Java 8 parallel stream
 
Java 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from OredevJava 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from Oredev
 

Similaire à SoftwareUniversity seminar fast REST Api with Spring

Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 

Similaire à SoftwareUniversity seminar fast REST Api with Spring (20)

What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
Java server pages
Java server pagesJava server pages
Java server pages
 
Confoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to startConfoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to start
 
Mean stack
Mean stackMean stack
Mean stack
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?
 
Spring Framework Rohit
Spring Framework RohitSpring Framework Rohit
Spring Framework Rohit
 
Node.js an Exectutive View
Node.js an Exectutive ViewNode.js an Exectutive View
Node.js an Exectutive View
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig Presentation
 
Node js
Node jsNode js
Node js
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
 
02 Node introduction
02 Node introduction02 Node introduction
02 Node introduction
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch Processing
 
Intro to Sails.js
Intro to Sails.jsIntro to Sails.js
Intro to Sails.js
 
Agile Software Development by Sencha
Agile Software Development by SenchaAgile Software Development by Sencha
Agile Software Development by Sencha
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

SoftwareUniversity seminar fast REST Api with Spring

  • 1.
  • 4. Disclaimer ! … Since I don’t like “some” technologies 1st) Instead of .NET I will probably say .NOT (cuz you should NOT use it) 2th) PHP - I think this is the Visual Basic of our time… you should write as less as possible otherwise your brain will be permanently damaged, also I may call it “ПъХъПъ” - for more info dreal.net 3th) Ruby is amazing for RAD ( you will see Java is as well) but I believe it is only for demo purpose. Don’t write anything that will be used by more then 5 users. Or ones you hit 5 users write it in.. Java, Go, NodeJS(I mean io.js)… something…Java ! (twitter devs knows)
  • 6. But before that… The Bulgarian Java User Group • http://java-bg.org • http://groups.google.com/group/bg-jug
  • 7. Agenda • What is Spring ? • What is Spring Boot? • What is Hibernate • What is JPA • What is Spring Data? • What is Spring Data Rest? • You know what ReST is right ? • Coding… coding… coding… • Bla bla thank you… Beer ?
  • 8. Spring aka Spring Framework • http://spring.io • De facto standard used in 3 of 4 Java Web & Enterprise Applications • The Spring Framework is an open source application framework and inversion of control container for the Java platform. (there is Spring.NET all .NOTers out there… but is it dead??!?!?!!)
  • 9. Spring Boot • Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run”. • Most Spring Boot applications need very little configuration.
  • 10. Demo
  • 11. Spring Data • Makes it easy to use new data access technologies, such as non-relational databases, map-reduce frameworks, and cloud based data services. Spring Data also provides improved support for relational database technologies. • This is an umbrella project which contains many subprojects that are specific to a given database. • http://projects.spring.io/spring-data/
  • 12. Hibernate ORM aka Hibernate • Hibernate ORM enables developers to more easily write applications whose data outlives the application process. As an Object/Relational Mapping (ORM) framework, Hibernate is concerned with data persistence as it applies to relational databases (via JDBC). • In addition to its own "native" API, Hibernate is also an implementation of the Java Persistence API (JPA) specification.
  • 13. Spring Data JPA • Implementing a data access layer of an application has been cumbersome for quite a while. Too much boilerplate code • Spring Data JPA aims to significantly improve the implementation of data access layers by reducing the effort to the amount that's actually needed.
  • 14. REST ? anyone ? • REST stands for Representational State Transfer. (It is sometimes spelled “ReST".) • REST is an architecture style for designing networked applications. The idea is that, rather than using complex mechanisms such as CORBA, RPC, RMI or SOAP to connect between machines, simple HTTP is used to make calls between machines.
  • 15. Spring Data Rest • makes it easy to expose JPA based repositories as RESTful endpoints.
  • 17. AAI
  • 18. Contacts Blog : http://gochev.org Facebook: https://www.facebook.com/gochev Linkedin: https://www.linkedin.com/in/gochev Skype: joke.gochev GitHub : https://github.com/gochev/