스프링 웹 개발 기초
정적컨텐츠
(웰컴페이지) 화면 보여주는 것 그대로 보내주는 것 - HTML
MVC : 애플리케이션을 개발할 때 사용하는 디자인 패턴
Model - 화면에 필요한 데이터를 클라이언트에게 응답
View - 보여주는 화면
Controll - 비지니스 로직
@Getmapping(조회할 때) 링크에 접속하면 템플릿에서 리턴 템플릿을 찾음.
html에서 input 타입으로 값을 받아오면 action url에 Post 방식으로 넘어옴 @Postmapping (데이터를 전달할떄)
API - Json 클라이언트한테 데이터를 전달, 객체를 반환
빈과 의존객체
Bean - 프로젝트가 실행될때 사용자가 빈으로 관리하는 객체들의 생성과 소멸에 관련된 작업을 자동으로 수행해주는데 객체가 생성되는 곳을 Bean 컨테이너라고 부름.
DI(Dependency Injection - 외부에서 생성된 객체를 주입받아 사용
사용하는 이유
- 재사용성을 높여준다.
- 테스트에 용이
- 코드 단순화
- 객체간의 의존관계 설정
주입하는 3가지 방식.
- 생성자 - 생성자에 @Autowired
- 필드 주입 - 멤버 객체에 @Autowired
- Setter 주입 - Setter메소드에 @Autowired
- 생성자 주입의 장점
불변 객체를 만들 수 있음
순환참조를 막을 수 있음
NullPointerExecption 방지
DB
JPA - 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
스프링데이터 JPA - JPA를 편하게 사용하는 도구
AOP
관점 지향 프로그래밍을 지원하는 모듈
공통 관심사를 모듈화하여 코드 중복을 줄이고 유지 보수 향상