[Spring을 공부하기 전에 알야할 지식]
- Java ( JDK 8) : JDK 8 기본 문법은 알고 있어야한다
- Servlet / JSP : JEE 웹 프로그래밍
1. 서블릿 : 라이프 사이클, 서블릿이 제공해주는 객체
2. JSP : EL과 JSTL을 공부하기
3. WAS : Servlet/ JSP를 구동할 수 있는 Mini WAS를 만들어볼 필요가 있다.(미니 서블릿, 정적 DATA)
- SQL, DB
1. DBMS : 데이터베이스 설치하고 연동하는 것에 대해서 알아야함.
2. 데이터베이스 기본 이론
3. JDBC 프로그래밍 : DB 프로그래밍.
[Spring 학습]
- Spring Core : DI, AOP, Bean 컨테이너 개념
- Spring MVC : Web 개발에 필요한 패턴
- JDBC의 분류
1. SQL 중심(SQL Mapper)
1) MyBatis
2) Spring JDBC
2. 객체 중심(Object Relation Mapper)
1) ORM --> Hibernate 구현체 --> JPA --> Spring Data JPA
2) JPA : Java 진영의 ORM 기술의 표준이다. Hibernate를 기본 기술로 하고 있다.
3) Spring Data JPA : 스프링 데이터 모듈을 사용하면 각종 저장소의 읽고 쓰는 것을 할 수 있다.
- NoSQL : MongoDB, Redis, Hadoop
- 저장소가 다르다고 해서 프로그래밍 방법이 다르면 되나? 그래서 Spring Data JPA가 개발되었다.
- Spring Security : 보안 모듈
- 설정 : XML, JAVA configure --> Java Configure가 대세
1. Java Configure : 프로젝트 시작 시에 설정하기가 쉽지 않다. 속된 말로 개고생을 해야 웹 개발을 시작할 수 있다.
2. Node.js 프레임워크는 쉽게 설정가능 --> Spring Boot 개발 계기
3. Spring Boot : Starter 라이브러리(*자동 설정 포함)
4. MSA 아키텍쳐 : Boot 2.0으로 버전 업이 되면서 Micro Service Architecture로 개발하려면 Spring Boot를 사용해야만 하게 되었다.