@Override publicvoidexecute()throws Exception { // Action 인퍼테이스를 사용하여 다형성구현 System.out.println("M: SelectMemberAction 클래스의 execute메서드실행"); /* 예를 들어 * 1.파라미터 저장하기 * 2.세션아이디체크 */ //모델2방식 //3.DB접근 -> DAO객체 생성 //MemberDAO mdao = new MemberDAOImpl(); //의존주입(DI)방식 //3.DB접근 -> DAO객체 생성 BeanFactory fac = new XmlBeanFactory(new FileSystemResource("member.xml")); MemberDAO mdao = (MemberDAO) fac.getBean("mdao"); //4.메서드 List list = mdao.getMemberList(); System.out.println("M: List데이터저장 ["+ list+"]"); //5.페이지이동 System.out.println("M: 페이지이동(View)"); } }
MemberDAO.java 인터페이스 생성
1 2 3 4 5 6 7 8
import java.util.List;
publicinterfaceMemberDAO{ //DAO역할을 하는 객체로 사용됨 //회원목록가져오기 public List getMemberList(); }
MemberDAOImpl.java 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
publicclassMemberDAOImplimplementsMemberDAO{ //디비연결메서드 //자원해제메서드 @Override public List getMemberList(){ System.out.println("DAO: 디비연결"); System.out.println("DAO: sql작성 & pstmt객체생성 & ?입력 & sql쿼리구문실행 & rs에 가져온 정보를 List저장"); System.out.println("DAO: 자원해제"); List list = new ArrayList<>(); list.add("빽다방"); list.add("더벤티"); return list; } }
member.xml 인터페이스 생성
파라미터가 없으므로 bean태그만 생성. 안에 <property name="">를 사용하지않아도 됨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD --> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">
<beans> <!-- Controller_Action --> <bean id="action"class="com.itwill.member.SelectMemberAction"> <!-- 파라미터가 없으므로 bean태그만 생성 --> </bean> <!-- DAO --> <bean id="mdao"class="com.itwill.member.db.MemberDAOImpl"> <!-- 파라미터가 없으므로 bean태그만 생성 --> <property name=""></property> </bean> </beans>