-
Spring 3.0 webmvc 모델에서 어노테이션 기반의 bean 설정개발노하우/spring.framework 2010. 10. 13. 21:03
1. 테스트를 위한 view 페이지를 만든다.
- WEB-INF/jsp/dao.jsp 생성
<html>
<body>
<h2>data : ${data }</h2>
</body>
</html>
2. 클래스 작성
- package : net.cranix.web.hellospring3.dao
- name : TestDAO
package net.cranix.web.hellospring3.dao;
public class TestDAO {
private String data = null;
public void setData(String data) {
this.data = data;
}
public String getData() {
return data;
}
}- @Component 를 사용하지 않았기 때문에 bean 설정파일에 등록해 주어야
3. Controller 작성
- package : net.cranix.web.hellospring3
- name DaoProcess
package net.cranix.web.hellospring3;
import net.cranix.web.hellospring3.dao.TestDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class DaoProcess {
public TestDAO testDAO = null;
// 스프링 bean 에 등록되어있는 컴포넌트를 자동으로 입력해 준다.
// 이것으로 이 파일에대한 bean 등록을 하지않아도 된다.
@Autowired
public void setTestDAO(TestDAO testDAO) {
this.testDAO = testDAO;
}
@RequestMapping("dao")
public String dao(Model model) {
model.addAttribute("data",testDAO.getData());
return "dao";
}
}4. 설정파일 수정
- WEB-INF/hello-servlet.xml
<beans ...>
...
<bean id="testDAO" class="net.cranix.web.hellospring3.dao.TestDAO">
<property name="data" value="daodata!!"/>
</bean>
</beans>- 결국 실제 string 은 이 설정파일에서 넣어준다.
5. 실행해보기
http://localhost:8080/hellospring3/dao.do 접근
6. 마무리
- 사실 스프링 내에서 관리되는 모든 bean 들은 추가하면 xml 설정을 하지않아도 되게 되어있다. 그러나 dao 같이 connection 을 가지고 있어야 하는 모듈 들은 위와 같이 해서 connection xml 파일에 저장하는것이 효율적인 방법이다.