지금까지 서버로 들어온 요청에서 파라미터를 꺼내기 위해서는 request.getParameter() 메서드를 사용해야했다. 하지만 요청으로 받는 데이터가 많을 경우 getParameter() 사용해 변수를 하나하나 지정해서 사용하기는 불편한다. 이를 해결하기 위해 스프링 프레임워크에서는 @RequestParam과 @ModelAttribute를 제공한다. 0. @RequestParam @RequestParam은 요청에서 넘어오는 파라미터 데이터를 Map 객체에 담아주는 기능을 한다. 메서드의 파라미터에 이 어노테이션을 사용해 '@RequestParam Map param' 으로 작성하면 스프링에서는 요청으로 들어온 데이터를 'key'와 'value'로 나누어 Map 객체에 담아준다. @RequestMappi..
스프링 프레임워크에서는 xml 파일을 통해 컨트롤러와 메서드별로 경로를 연결해 줄 수 있다. 하지만 웹 어플리케이션의 규모가 커지고 복잡해질 수록 xml 파일도 복잡해지고 관리가 어려워진다. 스프링 3.0부터는 어노테이션(Annotation)을 사용해 컨트롤러와 경로를 지정해줄 수 있다. 0. anno-servlet.xml 작성 * 어노테이션 사용을 위한 클래스 DefaultAnnotationHandlerMapping 클래스 레벨에서 @RequestMapping을 처리 AnnotationMethodHandlerAdapter 메서드 레벨에서 @RequestMapping을 처리 * 태그 - 어노테이션을 사용할 패키지 경로를 지정 - 지정한 패키지에서 어노테이션으로 지정된 클래스를 빈으로 생성 - base-p..
0. 관점 지향 프로그래밍 (Aspect Oriented Programming) 웹 어플리케이션에서 로깅이나 보안 기능, 예외 처리나 이메일 전송 기능은 매우 자주 사용하는 기능이다. 하지만 프로젝트의 규모가 커지면 커질 수록 이러한 기능들을 하나하나 구현하기는 번거롭다. 관점 지향 프로그래밍(Aspect Oriented Programming)은 이러한 문제점을 해결하기 위한 개발론이다. 스프링의 AOP에서는 메서드 안의 주기능과 보조 기능을 분리하고 선택적으로 메서드에 적용해서 사용하는 개념이다. 스프링에서 AOP 기능을 구현하는 방법으로는 스프링에서 제공하는 API를 사용하는 방법과 애너테이션을 사용하는 방법이 있다. * AOP 관련 용어 용어 설명 aspect 구현하고자 하는 보조 기능을 의미 ad..
0. 의존성 주입 (Dependency Injection) Spring Framework에서는 필요한 클래스를 직접 생성하는 대신 XML이나 애너테이션을 이용해 객체를 주입하는 방식을 사용한다. 의존성 주입(Dipendency Injection)을 적용함으로써 얻을 수 있는 장점은 다음과 같다. 클래스 간 의존 관계의 최소화와 코드의 단순화 애플리케이션의 유지보수 용이 객체의 생성, 소멸, 객체 간 의존 관계를 개발자가 아닌 스프링 컨테이너 대신 처리 개발자가 직접 객체를 제어하지 않고 스프링이 담당하는 점에서 제어의 역전(Inversion of Control)이라고도 한다. * 왜 의존성 주입인가? 우리는 특정 클래스에서 어떠한 클래스의 기능이 필요할 때 해당 클래스의 기능을 사용하기 위해 객체를 생성..