티스토리 뷰
기능 구현 순서
Controller > Service > ServiceImpl > DAO > SQL(XML)> < JSP
1. Controller
컨트롤러는 웹 클라이언트에서 들어온 요청을
해당 비지니스 로직을 호출하고, 수행결과와 함께 응답을 해주는 Dispatcher 역할.
( = 단순히 어떤 주소와 화면을 연결하고, 비즈니스 로직을 호출하는 역할.)
실제로 여러가지 비즈니스 로직은 Service에서 작성한다.
- 클래스의 선언부에
@Controller 어노테이션(Annotation)을 이용하여, 컨트롤러 객체임을 선언한다.
- @Resource : Service 영역의 접근을 위한 선언
- @ResourceMapping은 요청 URL을 의미한다.
우리가 /sample/openSampleBoardList.do 라는 주소를 호출하게 되면,
주소는 @RequestMapping 어노테이션과 매핑되어, 해당 메서드가 실행된다.
2. Service 구현
두 개의 파일로 구성된다. ↓
Service 인터페이스와(비즈니스 로직의 수행을 위한 메서드 정의)
이 인터페이스를 실제로 구현한 ServiceImpl 클래스(메서드를 실제로 구현)
이것은 Spring의 IoC / DI (Inversion of Control / Dependency Injection) 기능을
이용한 Bean 관리 기능을 사용하기 위함이다.
(※ ctrl + shift + O 는 이클립스에서 자동 import 단축키 !)
4. DAO 구현
실제로 데이터베이스에 접근.
@Repository라는 어노테이션을 통해서 이 클래스가 DAO임을 선언한다.
5. SQL(XML) 작성
mapper파일에 .xml 파일을 만들고 호출 할 쿼리를 저장한다.
각 <mapper>마다 namespace 속성을 이용하여 <mapper>간유일성을 보장한다.
6. jsp 구현
사용자에게 보여줄 jsp를 구현
JSTL 기본문법 공부할 필요 있음
-------------------------------------------------------------------------------------------
1. HandlerMethodArgumentResolver 란?
HandlerMethodArgumentResolver 는
스프링 3.1에서 추가된 인터페이스다.
스프링 3.1 이전에는 WebArgumentResolver 라는 인터페이스였는데,
스프링 3.1 이후부터 HandlerMethodArgumentResolver
라는 이름으로 바뀌었다.
이것이 하는 <역할>은 다음과 같다.
스프링 사용 시,
컨트롤러(Controller)에 들어오는 파라미터(Parameter)를
수정하거나 공통적으로 추가를 해주어야 하는 경우가 있다.
예를 들어,
로그인을 한 사용자의 사용자 아이디나 닉네임등을 추가하는것을 생각해보자.
보통 그런 정보는 세션(Session)에 담아놓고 사용하는데,
DB에 그러한 정보를 입력할 때에는
결국 세션에서 값을 꺼내와서 파라미터로 추가를 해야한다.
그런 경우가 뭐 하나나 두번 정도 있다면 몰라도,
여러번 사용되는 값을 그렇게 일일히 세션에서 가져오는건 상당히 번거로운 일이다.
HandlerMethodArgumentResolver는
사용자 요청이 Controller에 도달하기 전에
그 요청의 파라미터들을 수정할 수 있도록 해준다.
자세한건 이제 소스를 보면서 하나씩 살펴보자.
아아 이거슨 일단 요기까지이 - ! @0@
출처: http://addio3305.tistory.com/75 [흔한 개발자의 개발 노트]
'Spring' 카테고리의 다른 글
05. 회원정보수정 / 탈퇴 (0) | 2018.02.18 |
---|---|
03. 한글깨짐방지 / dependency 등록 & 오류 (0) | 2018.01.22 |
02.실행 / 카테고리 / tiles 설정 (0) | 2018.01.22 |
01.프로젝트 생성 / 오라클 DB연동 (0) | 2018.01.22 |