본문 바로가기

Spring

정리 #1

스프링MVC 구조 - 모델 2방식 구조: 화면과 데이터 처리를 분리해서 재사용이 가능하도록 하는 구조

  • 개발자와 웹 퍼블리셔 영역 분리
  • 뷰의 교체, 변경과 같은 유지보수에 유용

문제점: 컨트롤러 사이의 중복적인 코드의 문제, 개발자의 개발 패턴의 차이

→ Front Controller 방식: 전체 로직의 일부만을 컨트롤러가 처리(Delegation)


스프링 MVC가 처리

  • URI 분석 적절한 컨트롤러 찾기
  • 컨트롤러에 필요한 메소드 호출
  • 컨트롤러 결과 데이터를 뷰로 전달
  • 적절한 뷰 찾기

개발자가 처리

  • 특정 URI에 동작하는 컨트롤러를 설계
  • 서비스 객체 생성
  • DAO 객체 생성
  • 컨트롤러 내에 원하는 결과를 메소드로 설계
  • 뷰애서 전달받은 데이터 출력

---------------------------------------------------------------------------------

스프링 MVC 컨트롤러

  • 사용자의 요청에 필요한 데이터 추출,  VO 또는 DTO로 변환하는 파라미터 수집 작업 (자동으로 처리)
  • 스프링 MVC 설정은 XML과 에노테이션
  • 메소드마다 필요한 애노테이션을 설정할 수 있기 때문에 여러 메소드를 하나의 컨트롤러에 집중해서 작성 가능
  • 테스트 모듈을 사용해 WAS 실행 없이도 테스트 가능
  • 상속이나 인터페이스 구현하지 않고 @Controller 애노테이션 추가만 하면 된다
  • 메소드의 파라미터와 리턴 타입에 대한 제약이 없다
  • 다양한 클래스를 통해 유효성 검사나 파일업로드 등을 처리할 수 있다