반응형
썸네일 스프링 [Spirng] DI(Dependency Injection) 의존성 주입이란 DI (Dependency Injection) - 의존 주입 스프링은 기본적으로 DI를 기반으로 동작한다. 의존하는 타입의 객체를 직접 생성하는것과, 1. public void print(String filePath) throws IOException { try(BufferedReader br = new BufferedReader(new FileReader(filePath))){ .... 2. public class FileEncryptor { private Encryptor encryptor = new Encryptor(); .... 또는 외부에서 전달 받을수도있다. 1. public class FileEncryptor { private Encryptor encryptor; public FileEncr..
썸네일 스프링 프레임워크[Spring Framework] @PathVariable 어노텐션 @PathVariable Annotation을 이용한 URI 템플릿 RESTful 서비스가 유행하면서 URI를 다음과 같이 REST 방식으로 구성하는 경우가 늘어나고 있다. http://somehost/users/madvirus http://somehost/games http://somehost/forum/board1/10 기존에는 http://로컬호스트주소/users/userinfo?id=madvirus와 같이 파라미터를 이용해서 아이디나 이름을 전달받았다면, 이제는 URI에 아이디나 이름 등이 포함되도록 URL을 구성하고 있다. SPRING 3버전에 추가된 기능 중 필자가 가장 반기는 기능 중의 하나가 URI 템플릿이며, 이 URI 템플릿을 이용하면 REST 방식의 URL 매칭을 쉽게 처리할 수 있다..
썸네일 스프링 프레임워크 [Spring Fremawork] 요청 URI 매칭 클라이언트가 요청한 URL과 @RequestMapping Annotation의 값을 이용해서 클라이언트의 요청을 어떤 컨트롤러의 어떤 메서드가 처리할 지가 결정되고, 매칭이 어떻게 이루어지는 지 알지 못할 경우 클라이언트의 요청 URL 매칭되는 메서드를 설정할 수 없기 때문에, 어떻게 매칭이 이루어지는 지 아는 것은 작지만 매우 중요하다. @RequestMapping Annotation 간의 관계 그리고, @PathVariable을 이용한 URI 템플릿 전체 경로와 Servlet 기반 경로 매칭 설정… DispatcherServlet은 DefaultAnnotationHandlerMapping Class를 기본 HandlerMapping 구현체로 사용한다. 기본 설정은 컨텍스트 내에서의전체 경로가 아닌 S..
썸네일 스프링 프레임워크 [Spring Framework] Controller(컨트롤러) 메서드의 리턴 타입 컨트롤러 메서드는 ModelAndView를 비롯한 몇 가지 리턴 타입을 가질 수 있으며, 이들 리턴 타입은 다음과 같다. ModelAndView를 리턴할 경우 ModelAndView Class의 생성자나 setViewName() 메서드를 이용해서 뷰 이름을 지정할 수 있다. String 타입을 리턴할 경우, 문자열 값이 뷰 이름으로 사용된다. @RequestMapping 메서드가 ModelAndView, Model, Map을 리턴하는 경우 이들에 담긴 모델 데이터가 뷰에 전달된다. 또한, 추가로 다음의 항목도 뷰에 함께 모델로 전달된다. 커맨드 객체(JavaBean) @ModelAttribute Annotation이 적용된 메서드가 리턴한 객체 메서드의 Map, Model, ModelMap 타입의 파라미..
스프링 프레임워크 [Spring Framework] Servlet API 컨트롤러 Class의 @RequestMapping Annotation이 적용 메서드는 다음의 다섯 가지 타입의 파라미터를 전달받을 수 있다. javax.servlet.http.HttpServletRequest javax.servlet.ServletRequest javax.servlet.http.HttpServletResponse javax.servlet.ServletResponse javax.servlet.http.HttpSession Servlet API를 사용할 필요 없이 SPRING MVC가 제공하는 Annotation을 이용해서 요청 파라미터, 헤더, 쿠키, 세션 등의 정보에 접근할 수 있기때문에, 직접적으로 Servlet API를 사용해야 하는 경우는 매우 드물다. 하지만 다음의 경우에는 Ser..
썸네일 스프링 프레임워크 [Spring Framework] COOKIE 쿠키 객체 @CookieValue Annotation을 이용한 쿠키 Mapping @CookieValue Annotation을 이용하면 쿠키 값을 파라미터로 전달받을 수 있다. 만일 “auth” 쿠키의 값을 authValue 파라미터를 통해서 전달받도록하려면. @RequestMapping("/cookie/view.do") public String view( @CookieValue(value = "auth", defaultValue ="0") String auth) { // 쿠키의 이름으론 auth 기본값으론 0 만일 String auth의 값이 넘어오면 그값을 사용한다. // defaultValue 대신 required=false required는 기본 속성 값이 true이기에 500에러가 발생. System.ou..