on
[SPRING] :: REPOSITORY
[SPRING] :: REPOSITORY
REPOSITORY
:: DAO클래스라는 것을 명시하는 어노테이션
:: REPOSITORY 어노테이션이 있는 클래스는 AUTO-DETECTING으로 자동 생성이 가능하다.
:: DAO에서 따로 빈객체 생성할 필요가 없다.
:: " "안에 DAO의 명칭을 명시하는 것이 가능하다.
[예시] :: REPOSITORY 어노테이션
# 1 SERVLET-CONTEXT.XML
# 2 DEPT.XML
select * from dept
# 3 DEPTVO.JAVA
package vo; public class DeptVO { private int deptno; private String dname; private String loc; public int getDeptno() { return deptno; } public void setDeptno(int deptno) { this.deptno = deptno; } public String getDname() { return dname; } public void setDname(String dname) { this.dname = dname; } public String getLoc() { return loc; } public void setLoc(String loc) { this.loc = loc; } }
# 4 DEPTDAO.JAVA
package dao; import java.util.List; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import vo.DeptVO; /* REPOSITORY 어노테이션 - DAO클래스라는 것을 명시하는 어노테이션 - REPOSITORY 어노테이션이 있는 클래스는 AUTO-DETECTING으로 자동 생성이 가능하다. (DAO에서 따로 빈객체 생성할 필요가 없다.) - ""안에 DAO의 명칭을 명시하는 것이 가능하다. */ @Repository("dept_dao1") public class DeptDAO { /* AUTO-DETECTING을 통해서 생성된 클래스는 빈객체를 따로 생성하지 않으므로 셋터나 생성자 인젝션을 사용할 수 없으므로 SQLSESSION을 AUTOWIRED 어노테이션을 통해서 생성해야한다. */ // AUTOWEIRED @Autowired SqlSession sqlSession; // 생성자 public DeptDAO() { System.out.println("---Dept의 생성자---"); } public List selectList(){ List list = sqlSession.selectList("dept.dept_list"); return list; } }
# 5 DEPTCONTROLLER.JAVA
package controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import dao.DeptDAO; import vo.DeptVO; @Controller public class DeptController { // DEPT_DAO1로 명시된 DAO클래스를 불러오기위해서 DEPTDAO에 넣어준 어노테이션의 명칭과 반드시 일치해야한다. @Autowired DeptDAO dept_dao1; // 생성자 public DeptController() { System.out.println("---Controller의 생성자---"); } @RequestMapping(value={"/","/list.do"}) public String dept_list(Model model) { List list = dept_dao1.selectList(); model.addAttribute("list", list); return "total_list"; } }
# 6 TOTAL_LIST.JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Insert title here ::부서 목록:: 부서번호 부서명 부서위치 ${ vo.deptno } ${ vo.dname } ${ vo.loc }
from http://hikr90.tistory.com/154 by ccl(A) rewrite - 2022-01-01 01:27:48