O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Introduksjon til Spring Boot

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 14 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Introduksjon til Spring Boot (20)

Anúncio

Introduksjon til Spring Boot

  1. 1. Introduksjon til Spring Boot Henrik Schwarz – BouvetONE – 11.06.2014 1
  2. 2. Om meg 2 • Java-utvikler og arkitekt • For tiden på prosjekt hos Forsvaret
  3. 3. Utgangspunkt 3 • Enterprise-applikasjoner basert på Maven/Spring inneholder ofte mye XML • Komplisert dependency management • Mye “boiler-plate” konfigurasjon, kan være vanskelig å vedlikeholde • Utvikling av webapps forutsetter kjennskap til servlet spec (web.xml etc.) • Kan ta flere dager bare å sette opp et prosjekt!
  4. 4. Micro Services 4 • Selskaper som Google og Amazon beveger seg bort fra monolittiske arkitekturer • Trend: Micro Service arkitektur og REST • Dekomponere en applikasjon i løst koblede tjenester (ofte REST-grensesnitt) • Micro Services er små og gjør en ting • Deployeres som selvstendige prosesser • Finnes det et godt egnet verktøy som kan understøtte utvikling av Micro Services?
  5. 5. Spring IO 5
  6. 6. Spring Boot 6 • Nytt Spring-prosjekt som skal gjøre det mer effektivt å utvikle Spring-applikasjoner • Enkelt å lage standalone Spring-apps som kan kjøres uten app-server • Spring Boot ble lansert 1. april i år • Følger med CLI og god støtte for Groovy • Gjeldende versjon er 1.1.0
  7. 7. Forenklet dependency management 7 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> • Sett med Maven starter pom’er • Tar inn anbefalte avhengigheter • Gjør det lett å komme i gang Web Jetty ellerTomcat + Spring MVC Data-jpa Hibernate + Spring Data + JSR 303 annotations Security Spring Security … …
  8. 8. Forenklet konfigurasjon 8 • @EnableAutoConfiguration • Auto-konfigurasjon basert på avhengigheter som finnes på classpath • Nødvendige beans blir konfigurert med “sensible defaults” • Convention over configuration • Implementert for en rekke anbefalte rammeverk som fungerer godt sammen • Enkel overriding av defaults • Ikke behov for web.xml
  9. 9. Forenklet deployment 9 • Spring-boot-maven-plugin • Pakker kjørbar JAR-fil • Kjøres med java –jar kommandoen (embedded Jetty ellerTomcat) • Ingen appserver nødvendig • Mulighet for ekstern konfigurasjon • Ingen utpakking av filer
  10. 10. Management endpoints 10 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> • /health skal returnere “ok” • /metrics tellere og statistikk • /dump thread dump • /trace logger • /beans oversikt over bønner • /env environment variabler
  11. 11. Tid for demo! 11
  12. 12. Fordeler 12 • Ingen kodegenerering eller behov for XML • Minimalt med boilerplate konfigurasjon • Enkelt å override defaults • Gjør det raskt å komme i gang med Spring • Kjørbar JAR: ikke behov for app-server • Kan også pakke klassisk WAR • Innebygde management endpoints • Lett å lage RESTful web services • Enkel deployment til Cloud (PaaS)
  13. 13. Ulemper 13 • Man må godta litt “magi” • Mister litt kontroll • Auto-konfigurasjon støttes foreløpig bare av utvalgte rammeverk
  14. 14. Konklusjon 14 • Ser veldig lovende ut! • Perfekt for Micro Services og REST • Skal bli den anbefalte måten å lage Spring applikasjoner på i fremtiden

Notas do Editor

  • Mye XML: både dependency management og Spring-konfigurasjon
  • Ny plattform fra Spring
    Ny organisering av prosjektene
    Bedre dokumentasjon
    Masse guider!
    Vise side: http://spring.io/guides
    Open sourcet som en spring referanse app (kodenavn project Sagan).
    En rekke vanlige tasks er beskrevet, tar 15-30 min, de fleste er skrevet med Spring Boot!

    Boot ligger på toppen -> skal gjøre det enklere å bruke de velkjente Spring-prosjekter i “foundation”
  • Kraftig redusert POM-fil!
  • Eksempel: Hvis Spring Security ligger på classpath vil automatisk alle endepunkter sikres med basic authentication.

    Annet eks: hvis HSQLDB ligger på classpath får man automatisk en in-memory DB.
  • Ingen kodegenerering som Spring Roo.
  • Hvis du blir svett av Springs @Autowired og @ComponentScan, så er kanskje ikke auto-konfigurasjon for deg

×