Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spring Boot quickstart
Search
Jonas Hecht
August 30, 2016
Technology
0
32
Spring Boot quickstart
Spring Boot design principles and features incl. a hands on demo with Apache CXF
Jonas Hecht
August 30, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
690
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
160
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.7k
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
140
Agile Leadership Summit Keynote 2026
m_seki
1
560
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
160
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
360
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
440
配列に見る bash と zsh の違い
kazzpapa3
1
120
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
64
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
72
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
49
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Leo the Paperboy
mayatellez
4
1.4k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
92
Transcript
Spring Boot quickstart …with a little bit of Apache CXF
Jonas Hecht
2 About me Jonas Hecht, Senior IT-Consultant https://blog.codecentric.de/ author/jonas-hecht/
[email protected]
@jonashackt github.com/jonashackt
3 I know Spring. But what´s that Spring Boot thingy?
4 https://spring.io/projects
5 http://projects.spring.io/spring-boot https://github.com/spring-projects/spring-boot http://start.spring.io/ https://spring.io/blog/2016/07/28/spring- boot-1-4-released Where to start?
6 Main design goals
7 Picture: https://flic.kr/p/nZxKRM
8 http://projects.spring.io/spring-boot/ “Spring Boot […] is designed to get you
up and running as quickly as possible.”
9 Picture: https://flic.kr/p/aD4qRA
10 Spring Boot favors convention over configuration […]. http://projects.spring.io/spring-boot/
11 And the details?
12 Picture: https://flic.kr/p/qRbJHR
13 Picture: https://flic.kr/p/cGmP7A
14 Embedded Tomcat, Jetty… Stand-alone No need to deploy .war’s/.ear’s
15 $ java -jar cxf-boot-simple-0.0.1-SNAPSHOT.jar! or! $ mvn spring-boot:run! Stand-alone,
no deployment
16 Picture: https://flic.kr/p/dwSu3Z
17 'starter' POMs to simplify Maven configuration
18 ! Batch, Messaging, Caching, Relational Databases, JPA, NoSQL, whatever, Redis,
Integration, Logging, WebServices, Mail, Security, Webapps, REST,… ! official: https://github.com/spring-projects/spring-boot/tree/ master/spring-boot-starters ! community: https://github.com/spring-projects/spring-boot/tree/ master/spring-boot-starters#community-contributions 'starter' POMs
19 Picture: https://flic.kr/p/8Fyhn9
20 Automatically configure Spring whenever possible
21 import org.springframework.boot.autoconfigure.condition.*; @Configuration annotated Classes: @Conditional @ConditionalOnBean(YourClassHere.class) @ConditionalOnProperty(“your.property.here“) @ConditionalOnResource
... Automatic configuration
22 Picture: https://flic.kr/p/6HgM6u
23 Production-ready features Metrics, health checks, externalized configuration…
24
25 No code generation No XML configuration!
26 I want my own custom Spring Boot Starter!
27 Howto: https://blog.codecentric.de/en/2014/11/extending-spring-boot-five- steps-writing-spring-boot-starter/ Examples: https://github.com/spring-projects/spring-boot/tree/master/spring- boot-starters#community-contributions https://github.com/codecentric/spring-boot-starter-batch-web https://github.com/codecentric/cxf-spring-boot-starter Custom
Spring Boot Starters
28 demo
29 Complete Howto: https://blog.codecentric.de/ 2016/02/spring-boot-apache-cxf/ à http://start.spring.io/ group: de.codecentric.webservice artifact:
simpleservice Web & Devtools Demo: web service with Apache CXF 1/4 CXF-Dependencies <!-- Apache CXF --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.7</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.1.7</version> </dependency>
30 Demo: web service with Apache CXF 2/4 @Bean public
ServletRegistrationBean dispatcherServlet() { return new ServletRegistrationBean(new CXFServlet(), "/soap- api/*"); } @Bean(name= Bus.DEFAULT_BUS_ID) public SpringBus springBus() { return new SpringBus(); }
31 WSDL: https://github.com/jonashackt/weather-service-wsdl/ jaxws-maven-plugin config see https://blog.codecentric.de/2016/02/spring-boot-apache-cxf/ http://cxf.apache.org/docs/jax-ws-configuration.html Demo: web
service with Apache CXF 3/4
32 @Bean public WeatherService weatherService() { return new WeatherServiceEndpoint(); }
@Bean public Endpoint endpoint() { EndpointImpl endpoint = new EndpointImpl(springBus(), weatherService()); endpoint.publish("/WeatherSoapService_1.0"); return endpoint; } Demo: web service with Apache CXF 4/4
33 Questions? J