Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 •...

22
Spring Boot소개합니다. 131013일요일

Transcript of Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 •...

Page 1: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Spring Boot를 소개합니다.

13년 10월 13일 일요일

Page 2: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

순서

• 사용할 도구• 사용하지 않는 도구• Spring IO

• Spring Boot 소개• Spring Boot 목표• Boot가 제안한 Layer 기술• 라이브 코딩• Spring Boot 모듈 설명• 정리

13년 10월 13일 일요일

Page 3: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

About Me

• 이재일

[email protected]

• https://www.facebook.com/sonegy

• 작은 회사에서 미친듯한 공공기관 웹서비스 개발 6년!

• 겉보기에는 중소기업 내부는 대기업인 NHN I&S에서 사내시스템 개발 4년!

• 현재 SK Planet에서 1년째 재직중.

13년 10월 13일 일요일

Page 4: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

• IDE IntelliJ IDEA (Eclipse or 메모장 가능)

• Maven 3.0.3 (3.0.x)

• Java VM 1.7 (1.6+)

• Terminal

오늘 사용할 도구

13년 10월 13일 일요일

Page 5: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

사용하지 않을 도구

• Spring boot cli

• Groovy

• gradle

13년 10월 13일 일요일

Page 6: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Spring IO

Enterprise 환경에서 간단하고 유연한 포터블 개발환경 제공

13년 10월 13일 일요일

Page 7: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Enterprise 환경에서 간단하고 유연한 포터블 개발환경 제공

13년 10월 13일 일요일

Page 8: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

13년 10월 13일 일요일

Page 9: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

13년 10월 13일 일요일

Page 10: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

13년 10월 13일 일요일

Page 11: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

개발자의 관점

이제 Boot를 쓰면

13년 10월 13일 일요일

Page 12: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Boot 소개

• xxx.jar의 관리 By Maven parent project

• Boot가 제안 하는 기술을 쓴다면

• 관례에 의한 강력한 자동 설정

• 하지만 다른 것을 원하신다면...

• 당신이 원하는 당신의 어플리케이션 개발에 집중

13년 10월 13일 일요일

Page 13: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Boot의 목표

• 누구보다 빠르게 개발하게 해주고, 좀더 많은 사람들이 Spring 도입을 쉽게 접근 하게하자.

• 확실하고 강력한 기술을 쓰라고 권유

• 더이상 Spring ROO같은 코드 생성과 XML을 쓰지 않음

13년 10월 13일 일요일

Page 14: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

다음 진행 순서

• Boot가 제안(?) 하는 그 기술은 무엇?

• 라이브 코딩으로 간단한 댓글 구현

13년 10월 13일 일요일

Page 15: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

• Web Application Server

• Embedded Tomcat 7.0.x

• MVC Framework

• Spring MVC

• View Template Layer

• thymeleaf

• Data Access Layer

• Spring Data JPA

• Logging

• logback

13년 10월 13일 일요일

Page 16: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Live Coding

• https://github.com/sonegy/spring-boot-intro

13년 10월 13일 일요일

Page 17: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

• 구동가능한 tomcat을 적용• 간단한 @Controller를 작성• view template인 thymeleaf 적용• HSQLDB로 JPA 구성• logback 으로 로깅처리• 외부 설정 적용및 Profile적용• WAR로 만들어 미리 정해진 tomcat에 배포

Coding 순서

13년 10월 13일 일요일

Page 18: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

어떻게 작동하는 하죠?

• Application: main()함수가 SpringContext를 실행합니다.

• @EnableAutoConfiguration: 이것이 궁극 CoC 의 Spring 설정을 하게 해줍니다.

• 덕분에 classpath에 tomcat을 감지하여 context에 EmbeddedServletContainerFactory를 적용

• Jar 안에 xxx.jar JarLauncher덕입니다.

13년 10월 13일 일요일

Page 19: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Spring Boot 모듈• Spring Boot

• Spring Boot Autoconfigure

• Spring Boot Starters

• Spring Boot CLI

• Spring Boot Actuator

• Spring Boot Tools

• Spring Boot Samples

13년 10월 13일 일요일

Page 20: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

정리

• 아직은 Beta 혹은 Alpha라기 하기도 뭐하다

• 마일스톤이지만, 그래도 문서가 괜찮은편

• 사실 M4까지 WAR로 변환하는 버그가 너무 심했음

• jar or war?

13년 10월 13일 일요일

Page 22: Spring Boot - WordPress.com · 순서 • 사용할 도구 • 사용하지 않는 도구 • Spring IO • Spring Boot 소개 • Spring Boot 목표 • Boot가 제안한 Layer 기술

Spring Boot - 끝

13년 10월 13일 일요일