티스토리 뷰

기능 구현 순서

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 [흔한 개발자의 개발 노트]


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함