Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Depression und Social Media
Next
Download to read offline and view in fullscreen.

Share

Spring Boot quickstart

Download to read offline

Spring Boot design principles and features incl. a hands on demo with Apache CXF

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Spring Boot quickstart

  1. 1. Spring Boot quickstart …with a little bit of Apache CXF Jonas Hecht
  2. 2. 2 About me Jonas Hecht, Senior IT-Consultant https://blog.codecentric.de/ author/jonas-hecht/ jonas.hecht@codecentric.de @jonashackt github.com/jonashackt
  3. 3. 3 I know Spring. But what´s that Spring Boot thingy?
  4. 4. 4 https://spring.io/projects
  5. 5. 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. 6. 6 Main design goals
  7. 7. 7 Picture: https://flic.kr/p/nZxKRM
  8. 8. 8 http://projects.spring.io/spring-boot/ “Spring Boot […] is designed to get you up and running as quickly as possible.”
  9. 9. 9 Picture: https://flic.kr/p/aD4qRA
  10. 10. 10 Spring Boot favors convention over configuration […]. http://projects.spring.io/spring-boot/
  11. 11. 11 And the details?
  12. 12. 12 Picture: https://flic.kr/p/qRbJHR
  13. 13. 13 Picture: https://flic.kr/p/cGmP7A
  14. 14. 14 Embedded Tomcat, Jetty… Stand-alone No need to deploy .war’s/.ear’s
  15. 15. 15 $ java -jar cxf-boot-simple-0.0.1-SNAPSHOT.jar! or! $ mvn spring-boot:run! Stand-alone, no deployment
  16. 16. 16Picture: https://flic.kr/p/dwSu3Z
  17. 17. 17 'starter' POMs to simplify Maven configuration
  18. 18. 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. 19. 19Picture: https://flic.kr/p/8Fyhn9
  20. 20. 20 Automatically configure Spring whenever possible
  21. 21. 21 import org.springframework.boot.autoconfigure.condition.*; @Configuration annotated Classes: @Conditional @ConditionalOnBean(YourClassHere.class) @ConditionalOnProperty(“your.property.here“) @ConditionalOnResource ... Automatic configuration
  22. 22. 22Picture: https://flic.kr/p/6HgM6u
  23. 23. 23 Production-ready features Metrics, health checks, externalized configuration…
  24. 24. 24
  25. 25. 25 No code generation No XML configuration!
  26. 26. 26 I want my own custom Spring Boot Starter!
  27. 27. 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. 28. 28 demo
  29. 29. 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. 30. 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. 31. 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. 32. 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. 33. 33 Questions? J
  • RedHatSpain

    Jun. 8, 2020
  • OliverThomsen

    Sep. 24, 2016

Spring Boot design principles and features incl. a hands on demo with Apache CXF

Views

Total views

698

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

10

Shares

0

Comments

0

Likes

2

×