스프링 서버가 올라갈 때 애플리케이션 컨텍스트가 @Bean이나 @Service, @Controller 등 어노테이션을 이용하여 등록한 스프링 빈을 생성하고, @Autowired 어노테이션이 붙은 위치 또는 생성자, 수정자를 통해 주입한다.
DI와 IoC의 차이는?
DI는 의존관계를 어떻게 가질 것인가에 대한 문제고, IoC는 누가 소프트웨어의 제어권을 갖고 있느냐의 문제다. IoC 컨테이너가 빈을 생성할 때 빈들간의 의존관계를 DI를 통해 해결한다.
DI는 IoC 사용을 필수로 요구하지 않는다는 점을 주의해야 한다.
DI 종류
1) Constructor
2) Field
3) Setter
JPA
Java 프로그래밍에서 영구적으로 데이터를 저장하기 위해서 필요한 Interface
Java Persistence Aplication Programming Interface
Persistence Context
Context : 대상의 모든 정보
DB와 동기화된 Java Object Type을 가지며 영속성을 보장해주는 Context
ORM
기존 Table을 참고하는 Mapping이 아닌, Java Object를 참고하는 Table 생성
Object Relational Mapping
OOP 관점에서 모델링을 가능하게 해주는 기술 (상속, 컴포지션, 연관관계 고려)
Servlet
- Client의 요청에 동적으로 작동
- Java Thread를 이용해 동작
- HTML 변경 시 재컴파일 필요
- Java 코드에 HTML이 들어가있음
- HTML을 사용해서 요청에 응답
Servlet Container
서블릿 컨테이너 의 가장 중요한 기능은 요청을 올바른 서블릿에 전달해서 처리되도록하고, JVM이 해당 요청을 처리 한 후에는 생성된 결과를 올바른 장소에 동적으로 반환 해주는 것이다.
- 웹 서버와의 통신 지원
- Servlet Life Cycle 관리
- 멀티쓰레드 지원 및 관리
- 선언적인 보안 관리
Web.xml
- ServletContext의 초기 파라미터
- Session의 유효시간 설정
- Servlet/JSP에 대한 정의
- Servlet/JSP 매핑
- Mime Type(Multipurpose Internet Mail Extensions) 매핑
-> ASCII 표준만으로 지원 못하는 파일에 대한 인코딩 지원- Welcome File list
- Error Pages 처리
- 리스너/필터 설정
- 보안
[참고]