웹개발/스프링프레임워크 9

스프링 버전에 다른 변화

스프링 2.5버전 : Annotation을 활용하는 설정을 도입하면서 편리한 설정과 개발이 가능하도록 지원 스프링 3.0버전 : 별도의 설정 없이도 java 클래스만으로 설정 파일을 대신할 수 있게 지원 스프링 4.0버전 : 모바일 환경과 웹 환경에서 많이 사용되는 REST 방식의 컨트롤러 지원 스프링 5.0버전 : Reactor를 이용한 Reactive 스타일의 개발 환경 지원

어노테이션 정리

@Data : 어노테이션으로, setter를 생성하는 기능과 생성자, toString() 등을 자동으로 생성한다. @Component : 스프링에게 해당 클래스가 스프링에서 관리해야 하는 대상임을 표시하는 어노테이션 @setter(onMethod_ = @Autowired) private Chef chef; : @Setter는 자동으로 setChef()를 컴파일 시 생성하고, onMethod 속성은 생성되는 setChef()에 @Autowired 어노테이션을 추가한다. @Autowired : 필요한 의존 객체의 타입에 해당하는 빈을 찾아 주입한다. 해당 인스턴스 변수가 스프링으로부터 자동으로 주입해 달라는 표시이다. @ContextConfiguration : 지정된 클래스나 문자열을 이용해서 필요한 객체들..

14.4.1 조회 페이지에서 다시 목록 페이지로 이동 - 페이지 번호 유지

@GetMapping({ "/get", "/modify" }) public void get(@RequestParam("bno") Long bno, @ModelAttribute("cri") Criteria cri, Model model) { log.info("/get or /modify"); model.addAttribute("board", service.get(bno)); } @ModelAttribute는 자동으로 Model에 데이터를 지정한 이름으로 담아주는 역할 @ModelAttribute를 사용하지 않아도 Controller에서 화면으로 파라미터가 된 객체는 전달이 되지만, 명시적으로 이름을 지정하기 위해서 사용한다.

@RequestMapping의 변화

이 방식은, GET,POST 방식 모두를 지원해야 하는 경우에 배열로 처리해서 지정이 가능하다. @RequestMapping(value ="/basic", method ="{RequestMethod.GET,RequestMethod.POST}) public void basicGet(){ log.info("basic get"); } 이 방식은, GET 방식에만 사용할 수 있으므로, 간편하지만 기능에 대한 제한이 많은 편이다. @GetMapping("/basicGetOnly") public void basicGet2(){ log.info("basic get only get"); }

[스프링프레임워크] 기본 구조2

스프링 MVC의 기본 구조 (Controller) 특징 1. HttpServletRequest, HttpSergvletResponse를 거의 사용할 필요가 없다. 2. 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용이 가능하다. 3. GET방식 , POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리가 가능하다. 4. 상속 / 인터페이스 방식 대신에 어노테이션만으로도 필요한 설정이 가능하다.

[스프링프레임워크] 기본 구조

스프링MVC의 기본 구조 프로젝트 구동 시 관여하는 XML은 web.xml , root-context.xml , servlet-context.xml 파일이 관여한다. 이 파일들 중, web.xml = Tomcat 구동과 관련된 설정 root-contxt.xml, servlet-context.xml = 스프링과 관련된 설정 이다. 스프링 MVC의 기본 구조 1. 사용자의 Request는 Front-Controller인 DispatcherServlet을 통해서 처리합니다. 2,3. HandlerMapping은 Request의 처리를 담당하는 컨트롤러를 찾기 위해 존재한다. (개발자가 @RequestMapping 어노테이션이 적용된 것을 기준으로 판단하게 된다.) 적절한 컨트롤러가 찾아졌다면 HandlerAd..