MyBatis 1. MyBatis 개요 1)자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM 프레임워크 2)SQL을 별도 파일로 분리해서 관리 --> SQL문과 자바 코드의 분리 3)SQL문을 그대로 이용하면서 도메인 객체나 VO 객체 중심으로 개발 가능 4)퍼시턴트 프레임워크 5)XML형태로 서술된 JDBC 코드라고 할 수 있을 정도로 JDBC 모든 기능을 제공함 2. MyBatis 주요 컴포넌트 1)MyBatis 설정 파일(SqlMapConfig.xml) -DB 접속 주소 정보, Mapping 파일 경로 등 고정된 환경 정보 설정 2)Mapping 파일 3)SqlSessionFactoryBuilder 4)SqlSessionFactory 5)SqlSession -핵심적인 역할하..
의존성 주입 1. 의존성 주입 1)개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라 컨테이너가 연관 관계를 직접 규정하는 것. 2)각 클래스들의 변경이 자유로워짐(loosely coupled, 약한 결합) 3) 예 -쇼핑몰의 경우 상품 관리, 주문 관리, 회원 관리, 게시판 관리 등 구성. -서로 관련 있는 기능들은 강하게 결합(tightly coupled)하고, 관련이 없는 기능들은 약하게 결합(loosely coupled)해야 좋은 프로그램. 2. 의존성 주입 장점 1)코드를 단순화할 수 있다. 2)애플리케이션 더 쉽게 유지 및 관리 가능 3)기존 구현 방법은 개발자가 직접 코드 안에서 객체의 생성과 소멸을 제어했지만 의존성 주입은 객체의 생성, 소멸과 객체간의 의존 관계를 컨테이너..
필요한 용어 정리 1)의존성 주입(DI, Dependency Injection) -클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법 2)제어 역행(IoC, Inversion of Control) -서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법 3)관점 지향(AOP, Aspect-Oriented Programming) -핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법 IoC IoC (Inversion of Control) : 제어의 역전 -인스턴스 생성 ~ 소멸까지의 인스턴스 생명 주기 관리를 개발자가 아닌 컨테이너가 대신 해줌.(역전) -컨테이너 역할을 해주는 프레임워크에게 제어하는 권한을 넘겨서 개발자의 코드가..
프레임워크 시작하기 1. SW 재사용 방안 -복사, 붙이기 -메서드 정의, 호출 -클래스 재사용(상속) -AOP (Aspect Oriented Programming) : 로깅, 보안 2. 디자인 패턴 -GoF(Gang of Four) - Design Patterns : 재사용 가능한 객체 지향 소프트웨어 요소 -구조적인 가이드라인 -구현된 기반 코드를 제공하지 않음 3. 프레임워크 1)비기능적 요구사항(성능, 보안, 확장성, 안정성)을 만족하는 구조와 구현된 기능 2)비기능적 요소들을 초기 개발 단계마다 구현해야 하는 불편함 개선 3)기능적인 요구사항에 집중할 수 있도록 해줌. 4)기반 클래스 라이브러리, 구현 코드 제공 4. 디자인패턴 & 프레임워크 -디자인패턴은 프레임워크의 핵심적인 특징 -프레임워크..
게시판 글 수정 기능 구현 BoardFrontController.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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 //글 수정 비밀번호 확인 화면 제공 if(cmdURI.equals("/boardUpdatePassword.bbs")){ cmd = new BoardUpdatePasswordCmd(); cmd.execute(request, response); viewPage = "boardUpdatePassword.jsp"; } // 글 수정 비밀번호 확인 처리 if(cmdURI.equals("/boardUpdate..
자바 빈 클래스 제작 BoardDTO.java --게시판 글 하나의 데이터를 저장하기 위해 사용 --BOARD 테이블의 각 컬럼에 대응하는 멤버 변수 선언 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 package board.model; import java.sql.Date..