Spring 개발 교육
ApexSoft
Day 3 - SpringBoot
Day 2 - Review
- Test
- Unit Test
- JUnit, assert
- Git
- commit message
- merge, rebase
- 충돌 해소
- Git Workflow
Contents
1. SpringProject 생성
2. Hello SpringBoot
3. SpringBoot 환경 이해
4. Logging, Debugging
5. SpringMVC
SpringProject 생성
1. http://start.spring.io/
2. 컴포넌트 선택
- Web, JPA, H2, Lombok, DevTools, Actuator
3. 다운로드
4. IntelliJ에서 Import
- New > Project from Existing Sources... > build.gradle 선택
SpringProject 생성
5. build.gradle 내용 확인
- 선택한 컴포넌트가 없으면, mvnrepository에서 찾아서 직접 작성
- import
Hello SpringBoot
1. 날 것 그대로 실행
2. HelloController 생성
3. 브라우저에서 확인
SpringBoot 환경 이해
1. build.gradle
- spring-starter-*
- Lombok: annotation processor
- 인텔리J에서 Lombok 플러그인 설치
- test, compile
2. application.[properties | yml]
- profile
- 우선 순위
- @Value, @ConfigurationProperties
Lombok 설정
1. 플러그인 설치
- 인텔리J에서 Lombok 플러그인 설치
2. Enable Annotation Processing
- Preferences > annotation processors 로 검색
- enable...
Logging
1. SLF4J concepts
애플리케이션
코드
SLF4J API
logback
log4j
java.util.logging
Logging
1. SLF4J
- private static final Logger logger =
LoggerFactory.getLogger(HelloController.class);
- @SLF4J
- Parameterized Logging: {}
2. 로깅 실습
Debugging
1. IntelliJ Debugger
- 디버그 모드로 실행
2. BreakPoint
- 일반 breakpoint
- 조건부 breakpoint
3. Stack 탐색
- step into, step over, ...
SpringMVC
1. DispatcherServlet
2. Controller
3. Service
4. DB handling(JPA, MyBatis, SpringJdbcTemplate)
참고자료: http://www.slideshare.net/hanmomhanda/spring-mvc-fullflow
SpringBoot Dev Flow
어쨌든 데이터 먼저
SpringBoot Dev Flow
어쨌든 데이터 먼저
애플리케이션에서는 도메인 먼저
(회원 관리를 개발한다면 회원 객체가 도메인 객체)
SpringBoot Dev Flow
1. Repository(DAO) First
- Repository(DAO)-DB
- 서비스-도메인, Repository(DAO)
- 컨트롤러-서비스
2. Controller First
- 컨트롤러-Mock서비스
- 서비스-MockRepository(DAO), 도메인
- Repository(DAO)-DB
SpringBoot Dev Flow
1. Repository(DAO) First
- Repository(DAO)-DB
- 서비스-도메인, Repository(DAO)
- 컨트롤러-서비스
- 의존 관계 흐름에 순응, Mock부담 낮음
2. Controller First
- 컨트롤러-Mock서비스
- 서비스-MockRepository(DAO), 도메인
- Repository(DAO)-DB
- Frontend, Backend 분업 동시 개발 시 적합, Mock부담 높음
SpringBoot Dev Flow
1. Repository First
- Repository-DB
- 서비스-도메인, Repository
- 컨트롤러-서비스
- 의존 관계 흐름에 순응, Mock부담 낮음
2. Controller First
- 컨트롤러-Mock서비스
- 서비스-MockRepository(DAO), 도메인
- Repository(DAO)-DB
- Frontend, Backend 분업 동시 개발 시 적합, Mock부담 높음
Day 3 End
Day 4
JPA
Q&A
springboot-dev-primer-apexsoft-03
By Myung Woon, Oh
springboot-dev-primer-apexsoft-03
스프링 웹 개발 기초 교육 - day 3
- 659