목록BE/Spring (178)
오봉이와 함께하는 개발 블로그
스프링 MVC - 시작하기 스프링이 제공하는 컨트롤러는 어노테이션 기반으로 동작해서 유연하고 실용적이다. 자바에 어노테이션도 없기도 했고, 스프링도 처음부터 이런 유연한 컨트롤러를 제공한 것은 아니다. @RequestMapping 스프링은 어노테이션을 활용해서 실용적인 컨트롤러를 만들었는데 이것이 바로 @RequestMapping 어노테이션을 사용하는 컨트롤러다. @RequestMapping RequestMappingHandlerMapping RequestMappingHandlerAdapter 가장 우선순위가 높은 핸들러 매핑과 핸들러 어댑터는 RequestMappingHandlerMapping, RequestMappingHandlerAdapter다. 지금까지 만들었던 코드를을 @RequestMappin..
뷰 리졸버 OldController - View 조회할 수 있도록 변경 @Component("/springmvc/old-controller") public class OldController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("OldController.handleRequest"); return new ModelAndView("new-form"); } } http://localhost:8080/springmvc/old-controller로 실행하면 브..
핸들러 매핑과 핸들러 어댑터 핸들러 매핑과 핸들러 어댑터가 어떤 것들이 어떻게 사용되는지 알아보자. Controller 인터페이스 과거 버전 스프링 컨트롤러 public interface Controller { ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception; } Controller 인터페이스는 @Controller과는 전혀 다르다. 간단하게 구현해보자. @Component("/springmvc/old-controller") public class OldController implements Controller { @Override public ModelAndView ha..
스프링 MVC 전체 구조 전에 만든 MVC 프레임워크와 스프링 MVC를 비교해보자. 직접 만든 MVC 프레임워크 Spring MVC 구조 자체는 직접 만든 것과 스프링이 똑같다. 비교 FrontController -> DispatcherServlet handlerMapping -> HandlerMapping MyHandlerAdapter -> HandlerAdapter ModelView -> ModelAndView viewResolver(메서드) -> ViewResolver(인터페이스) MyView -> View DispatcherSevlet 구조 org.springframework.web.servlet.DispatcherServlet 스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다. 스프링 MV..
문제 패스워드를 암호화 해서 저장하고, 평문 패스워드로 일치하는지 여부를 검사하는 테스트였는데, 어떻게 테스트 코드를 작성 해도 NPE(NullPoint Exception)가 지속적으로 발생했다. 작성했던 코드들 1번 class MemberServiceImplTest { WebSecurityConfig webSecurityConfig = new WebSecurityConfig(); EntityManager em; MemberRepository memberRepository = new MemberRepositoryImpl(em, webSecurityConfig); MemberService memberService = new MemberServiceImpl(memberRepository); @Test @Di..