본문 바로가기

728x90
반응형

개발 기록

[코드로 배우는 스프링 웹 프로젝트] ch08 영속/비즈니스 계층의 CRUD 구현 2(create, read, update, delete) https://bobo12.tistory.com/297 2. 영속 영역의 CRUD 구현 ▷ 웹 프로젝트 구조에서 마지막 영역이 영속 영역이지만, 실제로 구현을 가장 먼저 할 수 있는 영역도 영속 영역 ▷ 기본적으로 CRUD 작업 하기 때문에 테이블과 VO(DTO) 등 약간의 준비만으로도 비즈니스 로직과 무관하게 CRUD 작업 가능 (1) Create(insert) 처리 ▷ tbl_board 테이블은 PK 칼럼으로 bno 이용, 시퀀스를 이용해 자동 데이터 추가시 번호가 만들어지는 방식 사용 ▷ 자동으로 데이터가 추가될 때 번호가 만들어지는 방식 사용 ▶ insert만 처리되고 생성된 PK 값을 알 필요가 없는 경우 ▶ insert문이 실행되고 생성된 PK 값을 알아야 하는 경우 ◎ BoardMapper .. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch08 영속/비즈니스 계층의 CRUD 구현 1(select, 테이블 출력) ◎ 데이터베이스를 이용한 CRUD 진행 순서 ▷ 테이블 칼럼 구조를 반영하는 VO(Value Object) 클래스 생성 ▷ MyBatis의 Mapper 인터페이스 작성/XML 처리 ▷ 작성한 Mapper 인터페이스의 테스트 1. 영속 계층의 구현 준비 ▷ 대부분 웹 애플리케이션의 최종 목적은 데이터베이스에 데이터를 기록하거나 원하는 데이터를 가져오는 것 ▶ 따라서, 개발시 어느 정도 설계가 진행되면 데이터 베이스 관련 작업을 함 ◎ VO 클래스의 작성 ◎ tbl_board의 테이블 구성 ◎ src/main/java → org.codehows.domain → BoardVO 클래스 생성 package org.codehows.domain; import java.util.Date; import lombok.Da.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch07 스프링 MVC 프로젝트 기본 구성 1. MVC 프로젝트 기본 구성 및 초기 설정 ▷ 스프링 MVC를 이용하는 프로젝트의 구성을 이해하는 일은 전체 데이터 흐름을 보기 위해서임. ▷ 브라우저에서 전송한 데이터를 스프링 MVC의 어떤 단계를 거쳐서 실행되는지 알면 문제 발생시 빠른 대처, 대안을 찾을 수 있음 일반적인 웹 프로젝트 구성 3-tier(티어) 방식으로 구성 1. Presentation Tier(화면 계층)는 화면에 보여주는 기술을 사용하는 영역 ▷ 프로젝트의 성격에 맞춰 앱으로 제작하거나 CS(Client-Server)로 구성되는 경우도 있음 ▷ 스프링 MVC와 JSP를 이용한 화면 구성이 이에 속함 2. Business Tier(비즈니스 계층)는 순수한 비즈니스 로직을 담고 있는 영역 ▷ 고객이 원하는 요구 사항을 반영하는 계.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 3(Controller Exception) https://bobo12.tistory.com/290 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 1 1. 스프링 MVC 이용시 Controller의 특징 ▷ HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 ▷ 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능 ▷ GET, POST bobo12.tistory.com https://bobo12.tistory.com/291 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 2 https://bobo12.tistory.com/290 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller .. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 2 https://bobo12.tistory.com/290 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 1 1. 스프링 MVC 이용시 Controller의 특징 ▷ HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 ▷ 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능 ▷ GET, POST bobo12.tistory.com 5. Controller 리턴 타입 ▷ 스프링 MVC 구조가 기존의 상속과 인터페이스에서 어노테이션을 사용하는 방식으로 변한 후 리턴 타입이 자유로워짐 ◎ Controller 메소드가 사용할 수 있는 리턴 타입 1. String : jsp를 이용하는 경우에 jsp 파일의 경로.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 1 1. 스프링 MVC 이용시 Controller의 특징 ▷ HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 ▷ 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능 ▷ GET, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능 ▷ 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 기능 ◎ @Controller, @RequestMapping ◎ SampleController 클래스 package org.codehows.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotat.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch05 스프링 MVC 기본 구조 1. 스프링 MVC 기본 구조 ▷ MVC는 스프링의 서브 프로젝트 ▷ 스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라 '코어'라고 할 수 있는 프레임워크에서 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발됨 ▷ 서브 프로젝트 : 별도의 설정이 존재(servlet-context.xml, root-context.xml로 설정 파일이 분리된 것과 유사) ◎ 스프링 MVC 프로젝트의 내부 구조 ▷ 내부적으로 root-context.xml로 사용하는 일반 Java 영역과 servlet-context.xml로 설정하는 Web 관련 영역을 연동해서 구동 ▷ 바깥쪽의 WebApplicationContext는 기존 구조에 MVC 설정을 포함하는 구조 ▷ 스프링은 웹 애플리케이션의 목적으로.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch04 MyBatis와 스프링 연동 2( log4jdbc-log4j2) 3. log4jdbc-log4j2 설정 ▷ MyBatis는 내부적으로 JDBC의 PreparedStatement를 이용해 SQL을 처리 ▷ SQL에 전달되는 파라미터는 JDBC와 같이 '?'로 치환되어 처리됨. ▷ SQL 로그를 제대로 보기 위해서 log4jdbc-log4j2 라이브러리 사용 ◎ pom.xml 내용 수정(log4jdbc-log4j2 라이브러리 설정) ...(생략)... org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 ...(생략)... ◎ src/main/resources → org → log4jdbc.log4j2.properties 생성 log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf.. 더보기

728x90
반응형