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.

Building a Spring Boot Application - Ask the Audience! (from JavaLand 2017)

487 views

Published on

Spring Boot makes it easy to create stand-alone Spring-based application that you can 'just run'. It uses a 'convention over configuration' approach to get you up and running in no-time, while offering all Spring features that you have grown fond of in the past years. In this session this is demonstrated by live-coding a Spring Boot application that will ‘just work’.

But audience beware, this is not your standard ‘live-coding session'. Attendees will have a vital say in the session's content by defining the application’s requ irements. Should it be an app to track your kitchen cupboard contents or do you want a simple task planner? It's up to you! Should it use MongoDB or Couchbase? You decide! Do you want an AngularJS front-end with a RESTful backend or do you prefer a classic web app with Thymeleaf templates? It's your call! Seriously.

During the session you get to make these decisions by participating in an online vote. And you will discover that Spring Boot is up to the task no matter what choices you make.

So what are you waiting for? Bring your own device, help shape the application that we're building and learn lots about Spring Boot in the process.

This session is intended for Java software engineers with an interest in Spring Boot. Some Spring experience could come in handy, but is not strictly necessary. After this session, you will know enough to start your own Spring Boot project.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Building a Spring Boot Application - Ask the Audience! (from JavaLand 2017)

  1. 1. Building a Spring Boot Application (ask the audience) Hanno Embregts @hannotify
  2. 2. Hanno? Hanno? Hanno? Hanno? Hanno? Hanno? Hanno?Hanno?
  3. 3. Introducing Introducing Introducing Introducing Introducing Introducing IntroducingIntroducing Spring BootSpring BootSpring BootSpring BootSpring Boot
  4. 4. Spring Boot? ( ) "Takes an opinionated view of building production-ready Spring applications. Favors convention over configuration and is designed to get you up and running as quickly as possible." https://projects.spring.io/spring-boot
  5. 5. Key features? create stand-alone Spring applications embed web server directly (no WAR files) automatic Spring configuration wherever possible no code generation and no XML configuration still offering all Spring features.
  6. 6. Pros? no separate web server needed better debugging in IDEs faster deployments (about 50%) no web.xml or configuration classes needed up and running with one Java file and a build script. ( )https://www.ethode.com/blog/6-simple-reasons-why-spring-boot-rocks
  7. 7. Cons? custom configuration will be a bit of a puzzle porting your legacy Spring project would be a disaster! it uses Spring, excluding roughly half of the Java community.
  8. 8. Starting OutStarting OutStarting OutStarting OutStarting Out
  9. 9. Wanna Be Wanna Be Wanna Be Wanna Be Wanna Be Wanna Be Wanna BeWanna Be Startin'Startin'Startin'Startin'Startin' Somethin'Somethin'Somethin'Somethin'Somethin'
  10. 10. About What We Claimed Earlier... "up and running with one Java file and a build script"
  11. 11. Java file(s) // imports... @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Spring Boot!"; } } // imports... @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
  12. 12. Build script apply plugin: 'java' apply plugin: 'idea' apply plugin: 'org.springframework.boot' jar { // some properties... } // repositories... dependencies { compile("org.springframework.boot:spring-boot-starter-web") { exclude module: "spring-boot-starter-tomcat" } compile("org.springframework.boot:spring-boot-starter-jetty") testCompile("junit:junit") }
  13. 13. Starter Dependencies a set of convenient dependency descriptors follow the naming pattern spring-boot- starter-* Name Purpose spring-boot-starter Core starter, includes auto-config & logging spring-boot-starter-test Test starter, includes JUnit, Hamcrest & Mockito spring-boot-starter-web Starter for Spring MVC Web applications spring-boot-starter-data-jpa Spring Data with JPA (more starters at ) http://docs.spring.io/spring- boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-starter
  14. 14. Spring Initializr (a quick way to download a project setup) http://start.spring.io/
  15. 15. Live codingLive codingLive codingLive codingLive coding
  16. 16. Kahoot! #1
  17. 17. Kahoot! #2
  18. 18. Wrap-up & Wrap-up & Wrap-up & Wrap-up & Wrap-up & Wrap-up & Wrap-up &Wrap-up & QuestionsQuestionsQuestionsQuestionsQuestions
  19. 19. Wrap-up Spring Boot gets you up & running quickly; assumes standard configuration for rapid development; plays nice with a wide range of frameworks; is up to the task no matter what choices you make.
  20. 20. And what if I prefer JavaEE? At least you can use embedded servers: TomEE Embedded ( ) Wildfly Swarm ( ) Quick assembly with JBoss ShrinkWrap ( ) http://tomee.apache.org/advanced/tomee-embedded/index.html http://wildfly-swarm.io/ http://www.lordofthejars.com/2014/09/apache-tomee-shrinkwrap-javaee-boot- not.html
  21. 21. Any Any Any Any Any Any AnyAny questions?questions?questions?questions?questions?
  22. 22. Thank you! ☺ You can contact me at: @hannotify hanno.embregts@infosupport.com

×