반응형

개발 47

[코드로 배우는 스프링 웹 프로젝트] 10강. 프레젠테이션(웹) 계층의 CRUD 구현

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 1. Controller의 작성 : Controller는 하나의 클래스 내에서 여러 메소드를 작성하고, @RequestMapping 등을 이용하여 URL을 분기하는 구조로 작성할 수 있기 때문에, 하나의 클래스에서 필요한 만큼 메소드의 분기를 이용하는 구조로 작성한다. 2. BoardController의 작성 : org.zerock.controller 패키지 생성후, BoardController.java를 작성한다. BoardController.java : 앞서 작성한 글에 작성항 등록, 조회, 수정, 삭제에 대한 모든 메소드를 작성하였다. package org.zerock.controller; import org.spri..

[코드로 배우는 스프링 웹 프로젝트] 9강. 비즈니스(Business) 계층 구현하기

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 이번 시간에는 비즈니스 계층을 구현해본다. 비즈니스 계층이란, 고객의 요구사항을 반영하는 계층으로 프레젠테이션 계층과 영속 계층의 중간다리 역할을 한다. 로일반적으로 비즈니스 영역에 있는 객체들은 '서비스(Service)'라는 용어를 많이 사용한다. 1. 비즈니스 계층의 설정 비즈니스 계층을 위한 org.zerock.service 패키지를 생성하고, service 패키지 내 BoardService.java(Interface)와 BoardServiceImp.java (Class) 를 추가한다. (설계를 할 때, 각 계층 간의 연결은 인터페이스를 이용해서 느슨한(loose) 결합을 하도록 한다.) BoardService 인터페..

[코드로 배우는 스프링 웹 프로젝트] 8강. 영속(Peristence) / 비즈니스(Business) 계층의 CRUD 구현하기

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 이번 시간에는 코드를 이용해서 CRUD 작업을 진행해본다. Persistence 계층의 작업은 다음 순서로 진행한다. -. 테이블의 컬럼 구조를 반영한 VO(Value Object) 클래스의 생성 -. MyBatis의 Mapper 인터페이스의 작성 / XML 처리 -. 작성한 Mapper 인터페이스 테스트 1. Persistence(영속) 계층의 구현 준비 1) VO 클래스의 작성 프로젝트에 org.zerock.domain 패키지를 생성하고, BoardVO 클래스를 정의한다. BoardVO.java : 생성한 테이블과 동일한 타입/명칭으로 정의한다. package org.zerock.domain; import java.ut..

[코드로 배우는 스프링 웹 프로젝트] 7강. 스프링 MVC 프로젝트의 기본 구성

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 스프링 MVC 프로젝트의 기본 구성 : 일반 적으로 웹 프로젝트는 3-tier 방식으로 구성된다. - Presentation Tier (화면 계층) : 화면에 보여주는 기술을 사용하는 영역. 주로, Servlet/JSP나 스프링 MVC가 담당하는 영역을 말함. - Business Tier (비즈니스 계층) : 비즈니스 로직만을 담고 있는 영역. 즉, 고객의 원하는 요구 사항을 반영 하는 계층. - Persistence Tier (영속 계층 혹은 데이터 계층) : 데이터를 어떤 방식으로 보관하고 사용하는가에 대한 설계가 들어가는 계층. 일반적으로 데이터베이스를 많이 이용하지만, 경우에 따라 네트워크 / 원격 호출 등의 기술이..

[코드로 배우는 스프링 웹 프로젝트] 6강. 스프링 MVC의 Controller 2 (Model, Controller의 Return / Exception 처리)

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. [코드로 배우는 스프링 웹 프로젝트] 6강. 스프링 MVC의 Controller 1 (어노테이션, @RequestMapping 활용, 해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 스프링 MVC를 이용하는 경우 작성되는 Controller는 아래와 같은 특징이 있다. -. HttpServletRequest, HttpServletResponse ee2ee2.tistory.com 위 글에 이어서 작성하는 글이다! 4) Model이라는 데이터 전달자 : Model이라는 객체는 JSP 컨트롤러에서 생성된 데이터를 담아서 전달하는 역할을 하는 존재이다. 이를 이용해서, JSP와 같은 뷰(View)..

[코드로 배우는 스프링 웹 프로젝트] 6강. 스프링 MVC의 Controller 1 (어노테이션, @RequestMapping 활용, 파라미터 수집)

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 스프링 MVC를 이용하는 경우 작성되는 Controller는 아래와 같은 특징이 있다. -. HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 -. 다양한 타입의 파라미터 / 리턴 타입 사용 가능 -. GET 방식, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능 -. 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 가능 스프링 MVC는 어노테이션이 많이 쓰이고, 구성되기 때문에 어노테이션의 의미를 확실히 알아두자. 1. @Controller, @RequestMapping org.zerock.controller 내 SampleCo..

[코드로 배우는 스프링 웹 프로젝트] 5강. 스프링 MVC의 기본 구조

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라, '코어(Core)'라고 할 수 있는 프레임워크에서 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발되었다. 스프링 MVC는 스프링의 서브 프로젝트이다. 즉, 별도의 설정이 존재할 수 있다는 말이다. 스프링 MVC 프로젝트의 내부 구조 (코드로 알아보기) 1. 프로젝트 생성하기 프로젝트 생성 > Spring Legacy Project > Spring MVC Project 생성 >프로젝트 명 : ex01 > 'org.zerock.controller' 패키지 생성 2. pom.xml 수정하기 스프링 버전을 5.0.7로 변경 lombok 기능을 이용해..

[코드로 배우는 스프링 웹 프로젝트] 4강. MyBatis와 스프링 연동

→해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. MyBatis? : 간략히 말하면, SQL Mapping 프레임워크로 분류되는데, 개발자들은 JDBC 코드의 복잡한 작업을 피하는 용도로 주로 사용한다. MyBatis는 기존의 SQL을 그대로 활용할 수 있는 장점이 있고, 대체로 쉬운 편이어서 JDBC의 대안으로 많이 사용된다. JDBC 프로그렘 MyBatis -. 직접 Connection을 맺고 마지막에 Close -. PreparedStatement 직접 생성 처리 -. PreparedStatement의 Setter 등에 대한 모든 작업을 개발자가 처리 -. SELECT의 경우 직접 ResultSet 처리 -. 자동으로 Connection close() 가능 -. M..

[코드로 배우는 스프링 웹 프로젝트] 3강. Oracle Database 계정 생성 및 프로젝트 JDBC 연결하기 (JDBC 테스트 코드 작성, DB 커넥션 풀 설정)

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. 이제, 예제에 사용될 데이터베이스의 계정을 생성해 볼 것이다. Oracle 설치 및 SQL Developer 설치 전이라면, 이 글을 참고하여 설치 후 아래를 진행하면 된다. [Database] Windows Oracle 11g 다운로드 및 SQL Developer 설치하기 이 글에서는 Oracle 11g Express Edition 버전과 SQL Developer 설치방법을 소개한다. Oracle 11g Express Edition 설치하기 1. 아래 주소에서 OS에 맞는 11g Release 2 Express Edition을 클릭 https://www.oracl.. ee2ee2.tistory.com 예제에 사용하는 계정..

[코드로 배우는 스프링 웹 프로젝트] 2강. 스프링 특징과 의존성 주입 (의존성 주입(DI) 코드로 테스트 하기)

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다. - 스프링 프레임 워크를 이용해서 '의존성 주입(DI)에 대한 이해와 테스트 - 스프링에서 XML을 이용하는 객체 관리 방법 - 스프링의 테스트 환경 구축 프레임워크란? : 뼈대나 근간을 이루는 코드들의 묶음. 즉, 개발을 시작하는데 있어 기본 틀이라 생각하면 쉽다. 스프링의 주요 특징 1) POJO (Plain Old Java Object) 기반의 구성 -. 객체간의 관계를 구성할 때, 별도의 API 등을 사용하지 않는 POJO의 구성만으로 가능 -. 코드를 개발할 때 개발자가 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않는 것을 뜻함 2) 의존성 주입(DI : Dependency Injection)과 스프링 -. ..