본문 바로가기

Dev/Spring20

스프링 5 @Service 서비스 구현과 테스트 0. BoardMapper.xml HTML 삽입 미리보기할 수 없는 소스 1. BoardService 인터페이스 HTML 삽입 미리보기할 수 없는 소스 2. BoardService를 구현한 구현체 BoardServiceImpl 💡 @Service 어노테이션 : 계층 구조상 주로 비즈니스 영역을 담당하는 객체임을 표시하기 위해 사용함. BoardServiceImpl가 정상적으로 작동하기 위해선 BoardMapper 객체가 필요하다. 스프링 4.3부터는 단일 파라미터를 받는 생성자의 경우에 필요한 파라미터를 자동으로 주입할 수 있다. @AllArgsContstructor는 모든 파라미터를 이용하는 생성자를 만든다. 아웃라인을 확인 해보면 BoardMapper를 주입 받는 생성자가 만들어진 것을 확인 할 수 .. 2022. 10. 31.
스프링MVC 5.0.7 버전 설정 및 테스트 HTML 삽입 미리보기할 수 없는 소스 생성된 프로젝트의 pom.xml에서 스프링 버전 변경 (3 > 5.0.7) HTML 삽입 미리보기할 수 없는 소스 Lombok 기능 사용을 위한 pom.xml에 코드 추가 HTML 삽입 미리보기할 수 없는 소스 Java 설정 등을 이용하기 위해선 서블릿 3.0 이상을 사용하는 것이 좋으므로 기존 2.5부분은 주석 처리 후 pom.xml에 코드 추가 HTML 삽입 미리보기할 수 없는 소스 Maven 컴파일 옵션 1.8 버전으로 변경 프로젝트 우클릭 후 Maven-Update Project 실행 정상 작동 확인! 💡.경로에 패키지명(위 사진 속 'contorller/') 나오지 않게 하기 위한 설정 서버를 멈춰놓은 후 서버 탭의 톰캣 더블클릭 후 Modules 메뉴로 .. 2022. 10. 28.
스프링 root-context.xml 동작 테스트 스프링 4.3 버전 사용 STS 툴 사용 1) src/main/webapp/WEB-INF/spring/root-context.xml HTML 삽입 미리보기할 수 없는 소스 2) 테스트 클래스 HTML 삽입 미리보기할 수 없는 소스 ▲ Restaurant 클래스 HTML 삽입 미리보기할 수 없는 소스 ▲ Chef 클래스 HTML 삽입 미리보기할 수 없는 소스 ▲ 테스트 클래스 💡. @RunWith 어노테이션 : 현재 테스트 코드가 스프링을 실행하는 역할을 할 것이라고 표시 💡. @ContextConfiguration 어노테이션과 속성값 문자열 설정: 지정된 클래스나 문자열을 이용해서 필요한 객체들을 스프링 내에 객체로 등록함(=스프링의 빈으로 등록) 사용하는 문자열은 classpath: 나 file: 을 .. 2022. 10. 27.
스프링 Tiles 2 연동을 이용한 레이아웃 템플릿 처리 다수의 웹 페이지는 동일한 페이지 구성을 갖고 있다. 각각의 페이지가 상단과 하단은 동일한 내용을 출력하고 내용 부분만 각자 알맞은 내용을 출력하는 경우가 많다. 레이아웃이 동일하고 공통된 내용이 들어가는 영역이 많은 경우에는 Tiles와 같은 템플릿 Library를 사용해서 레이아웃을 처리하면 뷰 관련 코드에서 레이아웃을 처리하기 위한 코드의 중복을 제거할 수 있다는 장점이 있다. SPRING은 널리 사용되고 있는 템플릿 Library인 Tiles2 버전을 지원하고 있다. 🎈 Tiles 2 연동하기 Tiles 2 연동을 위해서는 다음의 jar 파일을 lib 디렉터리에 추가해 주어야 한다. tiles-api-2.1.x.jar, tiles-core-2.1.x.jar, tiles-jsp-2.1.x.jar c.. 2022. 10. 20.
URI 템플릿 사용 - @PathVariable, @RequestMapping RESTful 서비스의 영향으로 URI를 다음과 같이 REST 방식으로 구성하는 경우가 대부분이다. http://somehost/users/codingco http://somehost/games http://somehost/forum/board1/10 이전에는 http://somehost/users/userinfo?id=codingco와 같이 파라미터를 이용해서 아이디나 이름을 전달받았다면, 이제는 URI에 아이디나 이름 등이 포함되도록 URL을 구성하고 있다. SPRING 3버전에 추가된 기능 중 하나인 URI 템플릿을 이용하면 REST 방식의 URL 매칭을 쉽게 처리할 수 있다. 🎈. URI 템플릿을 사용하는 방법 @RequestMapping Annotation의 값으로 {템플릿변수}를 사용한다. @.. 2022. 10. 20.
DispatcherServlet - alwaysUseFullPath 💡. DispatcherServlet DispatcherServlet은 DefaultAnnotationHandlerMapping 클래스를 기본 HandlerMapping 구현체로 사용한다. 기본 설정은 컨텍스트 내에서의 전체 경로가 아닌 Servlet 경로를 제외한 나머지 경로에 대해 Mapping을 처리한다. HTML 삽입 미리보기할 수 없는 소스 DispatcherServlet에 대해서 위와 같이 Servlet Mapping을 설정했다고 했을 때 위 코드는 *.do로 오는 요청과 /game/으로 오는 요청을 dispatcherServlet이 처리하도록 설정하고 있다. 이 경우 @RequestMapping은 다음과 같이 설정 할 수 있는데 HTML 삽입 미리보기할 수 없는 소스 코드만 보면 /searc.. 2022. 10. 20.