Model - 어플리케이션 상태의 캡슐화 - 상태 쿼리에 대한 응답 - 어플리케이션의 기능 표현 - 변경을 view에게 통지 View - 모델을 화면에 시각적으로 표현 - 모델에게 업데이트 요청 - 사용자의 입력을 컨트롤러에 전달 - 컨트롤러가 view를 선택하도록 허용 Controller - 어플리케이션의 행위 정의 - 사용ㅇ자 액션을 모델 업데이트와 매핑 - 응답에 대한 view 선택 Spring MVC 특징 - Spring은 Di나 aop같은 기능 뿐만 아니라, Servlet 기반의 web개발을 위한 mvc framework를 제공 - spirng mvc는 model2 architecture와 front controller pattern을 framework 차원에서 제공 - spring을 기반으로 ..
SpringFramework의 구조 1) POjO(Plain Old Java Object) : 특정환경이나 기술에 종속적이지 않은 객체 지향 원리에 충실한 자바객체. 2) PSA(Portable Service Abstraction) : 환경과 세부기술의 변경과 관계없이 일관된 방식으로 기술에 접근할 수 있게 해주는 설계 원칙. 트랜잭션 추상화 등. 3) IoC/DI(Dependecy Injection) : DI는 유연하게 확장 가능한 객체를 만들어 두고 객체 간의 의존관계는 외부에서 다이나믹하게 설정 4) AOP(Aspect Oriendted Programming) : 관심사의 분리를 통해서 소프트웨어의 모듈성을 향상, 공통 모듈을 여러 코드에 쉽게 적용 가능. 특징 1. 경량 컨테이너 - 스프링은 자바..
Servlet Servlet Life-cycle - main method 존재하지 않는다. - 객체의 생성부터 사용의 주체가 사용자가 아닌 Servlet Container에게 있다. Client가 요청을 하게 되면 servlet container는 serlvet객체를 생성(한번만) 하고, 초기화 (한번만)하며 요청에 대한 처리(요청시마다 반복)를 하게 된다. 또한 servlet 객체가 필요 없게 되면 제거하는 일까지 container가 담당하게 된다. Servlet Life-cycle 주요 메서드 method description init() 서블릿이 메모리에 로드될 때 한번 호출 코드 수정으로 인해 다시 로드되면 다시 호출 doGet() GET방식으로 data 전송시 호출 doPost() POST방식으..
@Getter @Setter // 이렇게 lombok을 설정해주면 컴파일할 때 DeLombok이라는 절차를 통해서 getter/setter를 자동으로 생성해준다. @ToString @NoArgsConstructor // 인자 없이 생성하는 생성자 , 거의 필수적으로 생성 @AllArgsConstructor // 객체가 가지고 있는 모든 필드들을 인자로 받아서 생성하는 생성자 @RequiredArgsConstructor // 꼭 필요한 인자만을 이용해서 생성하는 생성자 @EqualsAndHashCode // 자바에서 기본적으로 객체의 동등성을 비교하기 위해서 equals()와 hashCode()를 오버라이딩할 것을 권고하고 있다. @Data // @Getter, @Setter, @ToString, @Equ..