SlideShare a Scribd company logo
1 of 48
Download to read offline
Spring	Boot
Who	Am	I?
• You	will	find	me	here
https://github.com/tan9
http://stackoverflow.com/users/3440376/tan9
• My	Java	experience
• Java	and	Java	EE	development	– 8+	years
• Spring	Framework	– 6+	years
• Spring	Boot	– 1.5	years
2
Before	We Get Started…
• Join	the	channel:	http://bit.do/spring-boot
• Direct	link:	https://gitter.im/tan9/spring-boot-training
• Sign	in	using	your	GitHub account
• Or	sign	up	right	now!
3
Spring	Framework
4
Spring	Framework
• Inversion	of	Control	(IoC)	container
• Dependency	Injection	(DI)
• Bean	lifecycle	management
• Aspect-Oriented	Programming	(AOP)
• “Plumbing”	of	enterprise	features
• MVC	w/	RESTful,	TX,	JDBC,	JPA,	JMS…
• Neutral
• Does	not	impose	any	specific	programming	model.
• Supports	various	third-party	libraries.
5
Spring	2.5	JavaConfig
• Favor	Java	Annotation (introduced	in	Java	SE	5)
• @Controller,	 @Service and	@Repository
• @Autowired
• Thin	XML	configuration	file
6
<context:annotation-config/>
<context:component-scan
base-package="com.cht"/>
JavaConfig Keep	Evolving
• @Bean &	@Configuration since	3.0
• Get	rid	of	XML	configuration	files.
• @ComponentScan,	@Enable* and
@Profile since	3.1
• With	WebApplicationInitializer powered	by	
Servlet	3,	say	goodbye	to	web.xml too.
• @Conditional since	4.0
• We’re	able	to	filter	beans	programmatically.
7
Maven	Bill-Of-Materials	(BOM)
• Keep	library	versions	in	ONE	place.
• Import	from	POM’s	<dependencyManagement>
section.
• Declare	dependencies without	<version>:
8
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
Things Getting	Complicated
• Spring	seldom	deprecates	anything
• And	offers	little	opinion	or	guidance.
• Older	approaches	remain	at	the	top	in	search	results.
• Bootstrapping	can	be	painful
• Due	to	the	sheer	size	and	growth	rate	of	the	portfolio.
• Spring	is	an	incredibly	powerful	tool…
• Once	you	get	it	setup.
Should	you	use	spring	boot	in	your	next	project?	- Steve	Perkins
https://steveperkins.com/use-spring-boot-next-project/ 9
Spring	Boot
10
ThoughtWorks Technology	Radar
11
ThoughtWorks Techonlogy Rader	April	‘16
https://www.thoughtworks.com/radar
Spring	Boot
• Opinionated
• Convention over	configuration.
• Production-ready	non-functional	features
• Embedded	servers,	security,	metrics,	health	checks…
• Speed	up
• Designed	to	get	you	up	and	running	as	quickly	as	
possible.
• Plain	Java
• No	code	generation	and	no	XML	configuration.	
12
System	Requirements
• Spring	Boot	1.3	requires	Java	7+ by	default
• Java	8	is	recommended	if	at	all	possible.
• Can	use	with	Java	6	with	some	additional	configuration.
• Servlet	3.0+ container
• Embedded Tomcat	7+,	Jetty	8+,	Undertow	1.1+.
• Oracle	WebLogic	Server	12c	or	later.
• IBM	WebSphere	Application	Server	8.5	or	later.
• JBoss EAP	6	or	later.
13
Boot	With	Apache	Maven
14
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.cht</groupId>
<artifactId>inception</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
</parent>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Starter	POMs
• Make	easy	to	add	jars	to	your	classpath.
• spring-boot-starter-parent
• Provides	useful	Maven	defaults.
• Defines	version tags	for	“blessed”	dependencies.
• spring-boot-starter-*
• Provides	dependencies	you	are	likely	to	need	for	*.
15
First	Class
package com.cht.inception;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Application {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
16
mvn spring-boot:run
17
. ____ _ __ _ _
/ / ___'_ __ _ _(_)_ __ __ _    
( ( )___ | '_ | '_| | '_ / _` |    
/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |___, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.3.5.RELEASE)
2016-07-03 23:38:04.683 INFO 93490 --- [ main] com.cht.inception.Application : Starting Application on
2016-07-03 23:38:04.685 INFO 93490 --- [ main] com.cht.inception.Application : No active profile set,
2016-07-03 23:38:04.718 INFO 93490 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springfra
2016-07-03 23:38:05.482 INFO 93490 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with
2016-07-03 23:38:05.491 INFO 93490 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2016-07-03 23:38:05.491 INFO 93490 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine
2016-07-03 23:38:05.548 INFO 93490 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring emb
2016-07-03 23:38:05.548 INFO 93490 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationConte
2016-07-03 23:38:05.702 INFO 93490 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispa
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'charac
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hidden
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'httpPu
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'reques
2016-07-03 23:38:05.833 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerA
2016-07-03 23:38:05.876 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto jav
2016-07-03 23:38:05.879 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" ont
2016-07-03 23:38:05.879 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produc
2016-07-03 23:38:05.898 INFO 93490 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webja
2016-07-03 23:38:05.898 INFO 93490 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] o
2016-07-03 23:38:05.921 INFO 93490 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/fa
2016-07-03 23:38:05.986 INFO 93490 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for J
2016-07-03 23:38:06.032 INFO 93490 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(
2016-07-03 23:38:06.036 INFO 93490 --- [ main] com.cht.inception.Application : Started ⏎
Application in 1.529 seconds (JVM running for 4.983)
18
Application	Properties
• Place	application.yaml in	classpath
• For	example:
• Configuring	embedded	server		can	be	as	easy	as:
19
server:
address: 127.0.0.1
port: 5566
YAML	(YAML	Ain’t Markup	Language)
• Superset	of	JSON.
• UTF-8!
• Really	good	for	hierarchical	configuration	data.
• But…	can't	be	loaded	via	the	@PropertySource.
20
my:
servers:
- dev.bar.com
- foo.bar.com
my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com
YAML
Java	Properties
Executable	JAR
• $ mvn package
• Build	and	package	the	project.
• Spring	Boot	will	repackage	it	into	an	executable	one.
• $ java -jar target/
inception-0.0.1-SNAPSHOT.jar
• It’s	just	running.
• The	jar	is	completely	self-contained,	you	can	deploy	and	
run	it	anywhere	(with	Java).
21
Spring	Boot:	Dev
22
Quick	Start
• Spring	Initializr Web	Service
• http://start.spring.io
• SpringSourceTools	Suite	(eclipse-based)
• https://spring.io/tools/sts/all
• IntelliJ	IDEA	Ultimate	(Costs	$$$)
• https://www.jetbrains.com/idea/
• Or	import	Spring	Initializr generated	project	from	IntelliJ	
IDEA	Community	Edition.
23
Developer	Tools
• Set	dev	properties,	like	disabling	cache.
• Automatic	restart when	resources	changed.
• LiveReload the	browser.
• Remote	update	and	debug.
24
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
Externalized	Configuration
1. Command	line	arguments.
2. Properties	from SPRING_APPLICATION_JSON.
3. JNDI	attributes	from java:comp/env.
4. Java	System	properties	(System.getProperties()).
5. OS	environment	variables.
6. RandomValuePropertySource for	random.*.
7. Application	property	files.
8. @PropertySource on	@Configuration.
9. SpringApplication.setDefaultProperties().
25
Application	Property	Files	Lookup
• Profile	and	File	Type	Priority
1. application-{profile|default}.properties	/	.yml /		.yaml
2. application.properties/	.yml /	.yaml
• Location	Priority
1. A	/config subdirectory	of	the	current	directory.
2. The	current	directory.
3. A	classpath /config package.
4. The	classpath root.
26
Property	Name	Relaxed	Binding
Property Note
person.firstName Standard	camel	case	syntax.
person.first-name Dashed	notation,	recommended	
for	use	in	.properties	and	.yml files.
person.first_name Underscore	notation,	alternative	
format	for	use	in	.properties	and	
.yml files.
PERSON_FIRST_NAME Upper	case	format.	Recommended	
when	using	a	system	environment	
variables.
27
@ConfigurationProperties
• It	is	Type-safe.
• More	clear	and	expressive	than	
@Value("{connection.username}")
28
@lombok.Data
@Component
@ConfigurationProperties(prefix = "connection")
public class ConnectionProperties {
private String username = "anonymous";
@NotNull
private InetAddress remoteAddress;
}
Incorporate	Our	@Configurations
29
@Configuration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication {
...
}
@Order(Ordered.LOWEST_PRECEDENCE - 1)
public class
EnableAutoConfigurationImportSelector
implements DeferredImportSelector...
Configuration	Override	
Convention
• Always	look	up	the	properties	list	first
• http://docs.spring.io/spring-
boot/docs/current/reference/html/common-
application-properties.html
• Write	@Configurations	and	@Beans	if	needed
• Then	@ComponentScan them	in.
• That’s	what	you	are	really	good	at.
• AutoConfigurations just	serves	as	a	fallback.
30
Spring	Boot:	Run
31
Spring	Boot	Actuator
“An	actuator	is	a	manufacturing	term,	referring	to	a	
mechanical	device	for	moving	or	controlling	
something.
Actuators	can	generate	a	large	amount	of	motion	
from	a	small	change.”
32
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Production-Ready	Endpoints
• Spring	Configuration
• autoconfig,	beans,	configprops,	env and	mappings
• Logging	&	stats
• logfile,	metrics,	trace
• Informational
• dump,	info,	flyway,	liquibase
• Operational
• shutdown
33
Health	Information
• Beans	implements	HealthIndicator
• You	can	@Autowired what	you	need	for	health	
checking.
• Result	will	be	cached	for	1	seconds	by	default.
• Out-of-the-box	indicators
• Application,	DiskSpace,	DataSource,	Mail,	Redis,	
Elasticsearch,	Jms,	Cassandra,	Mongo,	Rabbit,	Solr…
34
Metrics
• Gauge
• records	a	single	value.
• Counter
• records	a	delta	(an	increment	or	decrement).
• PublicMetrics
• Expose	metrics	that	cannot	be	record	via	one	of	those	
two	mechanisms.	
35
Spring	Boot:	Ext
Custom	AutoConfigurationsand	ConfigurtaionProperties
36
Auto	Configuration
• META-INF/spring.factories
• Nothing	special	but	@Configuration.
• Spring	Boot	will	then	evaluate	all	AutoConfiguration
available	when	bootstrapping.
37
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=
com.cht.inception.autoconfigure.DemoAutoConfiguration
@ConditionalOn*
• Eliminating	all	@Configuration	will	not	work.
• Knowing	and	using	built-ins	where	possible
• @ConditionalOnBean
• @ConditionalOnClass
• @ConditionalOnMissingBean
• @ConditionalOnMissingClass
• @ConditionalOnProperty
• …	and	more
38
@Order matters
• Hints	for	Spring	Boot
• @AutoConfigureAfter
• @AutoConfigureBefore
• You	still	have	to	know	what	underlying
• Not	every	operation	is	idempotent	or	cumulative.
• WebSecurityConfigurerAdapter for	example.
39
@ConfigurationProperties
• Naming things	seriously
• There are only two hard things in Computer Science:
cache invalidation and naming things. -- Phil Karlton
• It	will	be	an	important	part	of	your	own	framework!
• Generates	properties	metadata	at	compile	time
• Located	at	META-INF/spring-configuration-
metedata.json.
• A	Spring	Boot-aware	IDE	will	be	great	help	for	you.
40
Deploying
41
Package	as	WAR
• POM.xml
• <packaging>war</packaging>
42
@SpringBootApplication
public class Application
extends SpringBootServletInitializer
implements WebApplicationInitializer {
...
}
JBoss EAP
• JBoss EAP	v6.0	– 6.2
• Have	to	remove	embedded	server.
• JBoss EAP	v6.x
• spring.jmx.enabled=false
• server.servlet-path=/*
• http://stackoverflow.com/a/1939642
• Multipart	request	charset	encoding	value	is	wrong.
• Have	to	downgrade	JPA	and	Hibernate.
• JBoss EAP	v7
• Haven’t	tried	yet.
43
Oracle	WebLogic	Server
• WebLogic	11g	and	below
• Not	supported.
• WebLogic	12c
• Filter	registration	logic	is	WRONG!
• https://github.com/spring-projects/spring-
boot/issues/2862#issuecomment-99461807
• Have	to	remove	embedded	server.
• Have	to	downgrade	JPA	and	Hibernate.
• Have	to	specify	<wls:prefer-application-
packages/> in	weblogic.xml.
44
IBM	WebSphere	AS
• WebSphere	AS	v8.5.5
• Have	to	remove	embedded	server.
• Have	to	downgrade	JPA	and	Hibernate.
45
What’s	Next?
46
Try	JHipster
https://jhipster.github.io/
and	to	learn	something	from	him.
47
References
• Introduction	to	Spring	Boot	- Dave	Syer,	Phil	Webb
• http://presos.dsyer.com/decks/spring-boot-intro.html
• Spring	Boot	Reference	Guide
• http://docs.spring.io/spring-boot/docs/current/
48

More Related Content

What's hot

Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introductionJonathan Holloway
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot IntroductionJeevesh Pandey
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring BootTrey Howard
 
Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOPDzmitry Naskou
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootJosué Neis
 
Spring introduction
Spring introductionSpring introduction
Spring introductionManav Prasad
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVCDzmitry Naskou
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring SecurityDzmitry Naskou
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
Introduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoCIntroduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoCFunnelll
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootOmri Spector
 

What's hot (20)

Spring boot
Spring bootSpring boot
Spring boot
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring boot
Spring bootSpring boot
Spring boot
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBoot
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring boot
Spring bootSpring boot
Spring boot
 
Introduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoCIntroduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoC
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 

Viewers also liked

Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring BootJoshua Long
 
Spring Booted, But... @JCConf 16', Taiwan
Spring Booted, But... @JCConf 16', TaiwanSpring Booted, But... @JCConf 16', Taiwan
Spring Booted, But... @JCConf 16', TaiwanPei-Tang Huang
 
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfkToshiaki Maki
 
jDays - Spring Boot under the Hood
jDays - Spring Boot under the HoodjDays - Spring Boot under the Hood
jDays - Spring Boot under the HoodNicolas Fränkel
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiquePublicis Sapient Engineering
 
Spring Framework Essentials
Spring Framework EssentialsSpring Framework Essentials
Spring Framework EssentialsEdward Goikhman
 
мифы о спарке
мифы о спарке мифы о спарке
мифы о спарке Evgeny Borisov
 
Event sourcing with reactor and spring statemachine
Event sourcing with reactor and spring statemachineEvent sourcing with reactor and spring statemachine
Event sourcing with reactor and spring statemachineJimmy Lu
 
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌Tun-Yu Chang
 
Java garbage collection & GC friendly coding
Java garbage collection  & GC friendly codingJava garbage collection  & GC friendly coding
Java garbage collection & GC friendly codingMd Ayub Ali Sarker
 
Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9Poonam Bajaj Parhar
 
淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享Tun-Yu Chang
 

Viewers also liked (19)

Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring Boot
 
Spring Booted, But... @JCConf 16', Taiwan
Spring Booted, But... @JCConf 16', TaiwanSpring Booted, But... @JCConf 16', Taiwan
Spring Booted, But... @JCConf 16', Taiwan
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfk
 
jDays - Spring Boot under the Hood
jDays - Spring Boot under the HoodjDays - Spring Boot under the Hood
jDays - Spring Boot under the Hood
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratique
 
ParisJUG Spring Boot
ParisJUG Spring BootParisJUG Spring Boot
ParisJUG Spring Boot
 
Spring Framework Essentials
Spring Framework EssentialsSpring Framework Essentials
Spring Framework Essentials
 
Spring Framework Training Course
Spring Framework Training Course Spring Framework Training Course
Spring Framework Training Course
 
Spock
SpockSpock
Spock
 
мифы о спарке
мифы о спарке мифы о спарке
мифы о спарке
 
Spring data jee conf
Spring data jee confSpring data jee conf
Spring data jee conf
 
Event sourcing with reactor and spring statemachine
Event sourcing with reactor and spring statemachineEvent sourcing with reactor and spring statemachine
Event sourcing with reactor and spring statemachine
 
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
 
Java garbage collection & GC friendly coding
Java garbage collection  & GC friendly codingJava garbage collection  & GC friendly coding
Java garbage collection & GC friendly coding
 
Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9
 
Spring
SpringSpring
Spring
 
淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享
 

Similar to Spring Boot

Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocketMing-Ying Wu
 
How to use database component using stored procedure call
How to use database component using stored procedure callHow to use database component using stored procedure call
How to use database component using stored procedure callprathyusha vadla
 
Spring boot for buidling microservices
Spring boot for buidling microservicesSpring boot for buidling microservices
Spring boot for buidling microservicesNilanjan Roy
 
Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Knoldus Inc.
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsDylan Jay
 
For each component in mule demo
For each component in mule demoFor each component in mule demo
For each component in mule demoSudha Ch
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarRobert Crane
 
Jlook web ui framework
Jlook web ui frameworkJlook web ui framework
Jlook web ui frameworkHongSeong Jeon
 
week 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffffweek 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffffanushka2002ece
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Ankit Gupta
 
Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Maarten Mulders
 
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019Codemotion
 
Inithub.org presentation
Inithub.org presentationInithub.org presentation
Inithub.org presentationAaron Welch
 
H2O 3 REST API Overview
H2O 3 REST API OverviewH2O 3 REST API Overview
H2O 3 REST API OverviewSri Ambati
 
H2O 3 REST API Overview
H2O 3 REST API OverviewH2O 3 REST API Overview
H2O 3 REST API OverviewRaymond Peck
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07Toshiaki Maki
 

Similar to Spring Boot (20)

Spring boot wednesday
Spring boot wednesdaySpring boot wednesday
Spring boot wednesday
 
Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocket
 
How to use database component using stored procedure call
How to use database component using stored procedure callHow to use database component using stored procedure call
How to use database component using stored procedure call
 
Spring boot for buidling microservices
Spring boot for buidling microservicesSpring boot for buidling microservices
Spring boot for buidling microservices
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
For Each Component
For Each ComponentFor Each Component
For Each Component
 
Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
For each component in mule demo
For each component in mule demoFor each component in mule demo
For each component in mule demo
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know Webinar
 
Jlook web ui framework
Jlook web ui frameworkJlook web ui framework
Jlook web ui framework
 
week 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffffweek 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffff
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)
 
CloudStack S3
CloudStack S3CloudStack S3
CloudStack S3
 
Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)
 
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
 
Inithub.org presentation
Inithub.org presentationInithub.org presentation
Inithub.org presentation
 
H2O 3 REST API Overview
H2O 3 REST API OverviewH2O 3 REST API Overview
H2O 3 REST API Overview
 
H2O 3 REST API Overview
H2O 3 REST API OverviewH2O 3 REST API Overview
H2O 3 REST API Overview
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 FresherRemote DBA Services
 
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.pdfsudhanshuwaghmare1
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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 educationjfdjdjcjdnsjd
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Spring Boot