[Spring]6. spring MVC 시작하기.
웹 & 안드로이드/JAVA & JSP2013. 10. 22. 12:27
- xml 설정파일에 직접 <bean> 태그로 등록 할 수 있지만 spring 3.0 이후부터는 대부분이 @(어노테이션)을 사용하게 된다.
1. 만든 두개의 xml 파일에 다음과 같은 코드를 추가한다.
1
2
3
4
5
6
7
8 |
<beans>
<context:component-scan base-package="com.controller">
</context:component-scan>
<!-- 지정한 패키지에 존재하는 어노테이션을 사용한 클래스를
전부 스캔하여 여기에 <bean> 형태로 등록한다 라는 뜻이다. -->
</beans> |
-base-package= 안에 설정에 해당하는 (서블릿 설정파일이면 컨트롤러를, 리스너의 설정파일이면 모델단에 해당하는) 패키지 명이 들어간다.
2. @(어노테이션)을 이용해 컨트롤러, 서비스 등을 만든다.
- com.controller.HelloController.java
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 |
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.service.HelloService;
@Controller
public class HelloController {
@Autowired
HelloService service;
@RequestMapping("/hello.do")
public String hello(Model model){
System.out.println("sfefd");
service.exe();
//포워딩 시키고 싶은 데이터는 메소드의 매개변수로 모델을 받으면 된다.
//모델에 속성을 추가하면 된다.
//이렇게 만들어진 모델은 리퀘스트의 생명 주기와 같다.
//설정을 통해 어플리케이션, 세션으로 바꿀 수 있다.
//jsp에서 호출을 할 때는 EL을 사용하면 된다.
model.addAttribute("pw", "1234");
return "/WEB-INF/view/hello.jsp";
}
} |
-com.service.HelloService.java
1
2
3
4
5
6
7
8
9 |
import org.springframework.stereotype.Service;
@Service
public class HelloService {
public void exe(){
System.out.println("service 실행");
}
}
|
@Controller, @Service, @Repository는 @Component의 자식들이다. Component를 스캔하면 전부 스캔 되는 것이다.
@Controller는 이것만 쓰면은 기능을 못한다.
기능을 실행 하는 메소드에 @RequestMapping("/hello.do")라는 매핑 어노테이션이 필요하고,
리턴으로 데이터를 받거나 보여줄 jsp 파일 위치가 들어가야 한다.
서비스를 호출 해야 한다면 서비스를 맴버 변수로 가지고, 위에 @Autowired 가 붙으면 자동으로 생성자나 setter를 이용한 di를 생성한다.
constructor 나 byType 혹은 byName 으로 생성자나 setter를 설정할 수 있다. 생성자나 setter가 존재 해야 가능하다.
'웹 & 안드로이드 > JAVA & JSP' 카테고리의 다른 글
[Spring]스프링 charactor 인코딩 필터 추가. (0) | 2013.10.27 |
---|---|
[Mybatis]마이바티스 설정하기. (0) | 2013.10.25 |
[Spring]5. Spring MVC 설정하기. (0) | 2013.10.22 |
[Spring]4. scope (0) | 2013.10.21 |
[Spring]3. Spring DI - @(어노테이션)을 이용한 DI (0) | 2013.10.21 |
댓글()