donaricano-btn

MVC의 Bean 정의 파일

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
<?xml version="1.0" encoding="UTF-8"?>
    xsi:schemaLocation="
     
    <!-- 1 -->
    <context:component-scan base-package="sample.customer.web.controller"/>
     
    <!-- 2 -->
    <mvc:annotation-driven validator="validator"/>
     
    <!-- 3 -->
    <mvc:resources location="/WEB-INF/resources" mapping="/resources/**"/>
     
    <!-- 4 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>


1. 컨트롤러 등록과 애노테이션 설정

- Controller 클래스를 자동으로 DI 컨테이너에 등록하는 설정

- component-scan에 의하여  @Controller 로 설정된 클래스를 읽어 올수 있다


2. Bean 검증

- Validator 오브젝트의 id를 validator 속성에 설정함


3. 정적 리소스 파일 설정

1) mvc:resources 

태그는 DispatcherServlet을 경유해 정적 리소스 파일(HTML, 이미지, CSS, Javascript...)에 엑세스 하기 위한 설정이다

2) Example

- /WEB-INF/resources/image/foo.jpg를 표시 하는법

- URL 에 {컨텍스트 경로}/resources/image/foo.jpg


4. 뷰 리졸버 설정

- 뷰 리졸버로 InternalResourceViewResolver 를 사용

- InternalResourceViewResolver는 JSTL 라이브러리클래스 경로에 있으면 자동으로 JstlView 클래스를 View클래스로 적용함으로 따로 View 클래스를 지정할 필요없다

1) DispatcherServlet과 뷰 리졸버

- DispatcherServlet은 웹 어플리케이션 시작 시에 뷰 리졸버 오브젝트를 DI 컨테이너로 부터 알아서 찾아 주므로 뷰 리졸버 클래스를 따로 인젝션 할 필요 없다

- DispatcherServlet이 뷰 리졸버 오브젝트를 찾을 때, 뷰 리졸버 인터페이스와 일치하는 오브젝트를 찾으므로 Bean에 id를 지정할 필요없다


2) 뷰 리졸버 오브젝트

- 뷰 리졸버 오브젝트를 여러개 등록 가능하다

- DispatcherServlet은 뷰 리졸버 오브젝트 순서대로 View 오브젝트 취득을 의뢰하고 View 오브젝트를 가져온 시점에 화면에 표시

- 뷰 리졸버 오브젝트 의뢰 순서는 order 프로퍼티로 정함

1
2
3
4
5
6
7
8
9
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
  <property name="basename" value="/META-INF/spring/view"/>
  <property name="order" value="0"/>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResouceViewResolver>
  <property name="prefix" value="/WEB-INF/views"/>
  <property name="suffix" value=".jsp"/>
  <property name="order" value="1"/>
</bean>

'FullStack > SimpleSpringMVC' 카테고리의 다른 글

[SpringMVC] controller & jsp  (0) 2016.09.18
[SpringMVC] 레이어 구조  (0) 2016.08.21
[SpringMVC] web.xml 설정  (0) 2016.08.21
[SpringMVC] Bean 정의 파일 위치  (0) 2016.08.18
[SpringMVC] 비즈니스 로직 Bean 정의 파일  (0) 2016.08.16
블로그 이미지

리딩리드

,