목록전체 글 (447)
For Programmer

프레젠테이션(웹) 계층의 CRUD 구현 비즈니스 계층의 구현까지 모든 테스트가 진행되었다면 이제 남은 작업은 프레젠테이션 계층인 웹의 구현입니다. org.zerock.controller 패키지에 BoardController 클래스 생성 BoardController 클래스 package org.zerock.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import lombok.extern.log4j.Log4j; @Controller @Log4j @RequestMapping("/board") public class BoardContr..

영속 영역의 CRUD 구현 웹 프로젝트 구조에서 마지막 영역이 영속 영역이지만, 실제로 구현을 가장 먼저 할 수 있는 영역도 영속 영역입니다. 영속 영역은 기본적으로 CRUD 작업을 하기 때문에 테이블과 VO(DTO) 등 약간의 준비만으로도 비즈니스 로직과 무관하게 CRUD 작업을 작성할 수 있습니다. MyBatis는 내부적으로 JDBC의 PreparedStatement를 활용하고 필요한 파라미터를 처리하는 '?'에 대한 치환은 '#{속성}' 을 이용해서 처리합니다. 1.create(insert) 처리 tbl_board 테이블은 PK칼럼으로 bno를 이용하고, 시퀀스를 이용해서 자동으로 데이터가 추가될 때 번호가 만들어지는 방식을 이용합니다. 이처럼 자동으로 PK값이 정해지는 경우에는 다음과 같은 2가지..

프로젝트를 진행할때 다음과 같은 네이밍 규칙을 가지고 작성합니다. -xxxController: 스프링 MVC에서 동작하는 Controller클래스를 설계할 때 사용합니다. -xxxService, xxxServicelmpl : 비즈니스 영역을 담당하는 인터페이스는 'xxxService' 라는 방식을 사용하고, 인터페이스를 구현한 클래스는 'xxxServicelmpl'이라는 이름을 사용합니다. -xxxDAO,xxxRepository: DAO(Data-Access-Object)나 Repository(저장소)라는 이름으로 영역을 따로 구성하는 것이 보편적입니다. 다만 이 책의 예제는 별도의 DAO를 구성하는 대신에 MyBatis의 Mapper인터페이스를 사용합니다. -VO,DTO:VO와 DTO는 일반적으로 유사..

5.Controller의 리턴 타입 스프링MVC 구조가 기존의 상속과 인터페이스에서 어노테이션을 사용하는 방식으로 변한 이후에 가장 큰 변화중 하나는 리턴 타입이 자유로워 졌다는 것입니다. Controller의 메서드가 사용할 수 있는 리턴 타입은 주로 다음과 같습니다. -String: jsp를 이용하는 경우에는 jsp파일의 경로와 파일이름을 나타내기 위해서 사용합니다. -void: 호출하는 URL과 동일한 이름의 jsp를 의미합니다. -VO,DTO 타입: 주로 JSON타입의 데이터를 만들어서 반환하는 용도로 사용합니다. -ResponseEntity타입: response할 때 Http헤더 정보와 내용을 가공하는 용도로 사용합니다. -Model,ModelAndView:Model로 데이터를 반환하거나 화면까..

스프링 MVC를 이용하는 경우 작성도는 Controller는 다음과 같은 특징이 있습니다. -HttpServletRequest,HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 -다양한 타입의 파라미터 처리,다양한 타입의 리턴 타입 사용 가능 -GET 방식, POST방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능 -상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 가능 1. @Controller, @RequestMapping package org.zerock.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.Req..

스프링 MVC의 기본 구조 우선 스프링MVC를 학습하는데 있어서 가장 먼저 기억해야하는 점은 스프링MVC가 스프링의 서브 프로젝트라는 것입니다. https://spring.io/projects를 보면 Spring Framework라는 메인 프로젝트 외에도 여러 종류의 서브 프로젝트가 존재하는데, 스프링 MVC 역시 이러한 프로젝트 중 일부입니다. 스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라 코어라고 할 수 있는 프레임워크에 여러 서브프로젝트를 결합해서 다양한 상황에 대처 할 수 있도록 개발되었습니다. Spring Legacy Project로 생성한 예제의 경우에도 servlet-context.xml 과 root-context.xml로 설정 파일이 분리된 것을 볼 수 있습니다. 스프링 MV..

1. JDK 1.8 버젼 설치 2.STS(Eclipse) 설치 및 프로젝트 생성 3.Tomcat 설치 및 연동 4.오라클 데이터베이스 / SQL Developer 설치 및 설정 5.스프링 프로젝트 생성 및 라이브러리 추가 6.MyBatis / mybatis-spring 설치 7.스프링 MVC개발 설정 4. Oracle Database 설치(https://www.oracle.com/database/technologies/xe-prior-releases.html) Oracle Database Express Edition (XE) Release 11.2.0.2.0 (11gR2) 버젼을 설치한다. 설치 하다 보면 중간에 패스워드 입력하라고 나오는데 oracle 입력해준다. 그 후 CMD 관리권한으로 실행 후 s..

1. JDK 1.8 버젼 설치 2.STS(Eclipse) 설치 및 프로젝트 생성 3.Tomcat 설치 및 연동 4.오라클 데이터베이스 / SQL Developer 설치 및 설정 5.스프링 프로젝트 생성 및 라이브러리 추가 6.MyBatis / mybatis-spring 설치 7.스프링 MVC개발 설정 1. JDK1.8버젼 설치(2020년 8월 기준 JAVA SE - 8u261) (https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html) -> 설치 후 환경 변수에서 시스템 변수 새로만들기 JAVA_HOME을 설정합니다. (경로는 jdk가 설치된 bin폴더) -> 그 후 시스템 변수에 있는 path에 JAVA_HOME을 등록 해주..