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
30
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
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
510
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
120
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
190
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
250
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
220
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
200
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
910
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
VS CodeでAWSを操作しよう
smt7174
7
1.6k
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
140
Featured
See All Featured
BBQ
matthewcrist
80
8.8k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Automating Front-end Workflow
addyosmani
1356
200k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Design by the Numbers
sachag
274
18k
Being A Developer After 40
akosma
57
580k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Become a Pro
speakerdeck
PRO
11
4.5k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
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