728x90
반응형

Spring 29

스프링 - Part 3 - 기본적인 웹 게시물 관리 02 (영속/비즈니스 계층의 CRUD 구현)

영속/비즈니스 계층의 CRUD 구현 영속 계층의 작업 테이블의 칼럼 구조를 반영하는 VO(Value Object) 클래스의 생성 MyBatis의 Mapper 인터페이스 작성/XML 처리 작성한 Mapper 인터페이스의 테스트 영속 계층의 구현 준비 VO 클래스의 작성 VO 클래스를 생성하는 작업은 테이블 설계를 기준으로 작성 확인 > select * from tbl_board where bno > 0 프로젝트에 org.codehows.domain 패키지 생성, BoardVO 클래스 정의 // BoardVO.java package org.codehows.domain; import java.util.Date; import lombok.Data; @Data public class BoardVO { privat..

Spring 2023.03.22

스프링 - Part 3 - 기본적인 웹 게시물 관리 01 (스프링 MVC 프로젝트의 기본 구성)

스프링 MVC 프로젝트의 기본 구성 일반적인 웹 프로젝트는 3-Tier(티어) 방식으로 구성한다. 스프링 MVC를 이용하는 예제의 구성 각 영역의 Naming Converntion(명 규칙) xxxController: 스프링 MVC에서 동작하는 Controller 클래스 xxxSerivce, xxxServiceImpl: 비즈니스 영역을 담당하는 인터페이스는 ‘xxxService’라는 방식을 사용하고, 인터페이스를 구현한 클래스는 ‘xxxServiceImpl’이라는 이름을 사용 xxxDAO, xxxRepository: DAO(Data-Access-Object)나 Repository(저장소)라는 이름으로 영역을 따로 구성하는 것이 보편적. 예제에서는 별도의 DAO를 구성하는 대신에 MyBatis의 Mappe..

Spring 2023.03.22

스프링 - Part 2 - 스프링 MVC 설정 02

https://rogi221.tistory.com/144 스프링 - Part 2 - 스프링 MVC 설정 01 MVC(Model-View-Controller) 대부분의 서블릿 기반 프레임워크들이 사용하는 방식 데이터와 처리, 화면을 분리하는 방식 웹에서는 Model 2 방식으로 표현 스프링과 스프링 MVC 스프링 프레임워크 Core + 여 rogi221.tistory.com Model이라는 데이터 전달자 Controller의 메서드를 작성할 때는 특별하게 Model이라는 타입을 파라미터로 지정할 수 있다. Model 객체는 JSP에 컨트롤러에 생성된 데이터를 담아서 전달하는 역할을 하는 존재이다. 이를 이용해서 JSP와 같은 뷰(View)로 전달해야 하는 데이터를 담아서 보낼 수 있다. 메서드의 파라미터에..

Spring 2023.03.21

스프링 - Part 2 - 스프링 MVC 설정 01

MVC(Model-View-Controller) 대부분의 서블릿 기반 프레임워크들이 사용하는 방식 데이터와 처리, 화면을 분리하는 방식 웹에서는 Model 2 방식으로 표현 스프링과 스프링 MVC 스프링 프레임워크 Core + 여러 Sub 프로젝트들 https://spring.io/projects 별도로 결합해서 사용하기 때문에 설정 역시 별도로 처리 가능 일반적인 스프링 + 스프링 MVC XML이나 Java설정 이용시에 설정 분리 스프링 MVC 프로젝트의 내부 구조 새프로젝트 ex01 pom.xml의 일부 // pom.xml 11 5.0.7.RELEASE 1.6.10 1.6.6 ... 생략 ... org.springframework spring-test ${org.springframework-versi..

Spring 2023.03.21

스프링 - Part 1 - 스프링 개발환경 구축(4.MyBatis와 스프링 연동)

MyBatis MyBatis(http://www.mybatis.org/mybatis-3/)는 흔히 'SQL 매핑(mapping)' 프레임워크로 분류되는데, 개발자들은 JDBC 코드의 복잡하고 지루한 작업을 피하는 용도로 많이 사용한다. MyBatis 관련 라이브러리 추가 MyBatis와 mybatis-spring을 사용하기 위해 pom.xml 파일에 추가적인 라이브러리들을 설정 // pom.xml ... (생략) ... org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-tx ${org.springframework-version} org.springframework spring-jdbc ${org.spr..

Spring 2023.03.21

스프링 - Part 1 - 스프링 개발환경 구축 (1.개발을 위한 준비, 2.스프링의 특징과 의존성 주입, 3.스프링과 Oracle Database 연동)

src/main/java : 작성되는 코드의 경로 src/main.resources : 실행할 때 참고하는 기본 경로(주로 설정 파일들을 넣는다.) src/test/java : 테스트 코드를 넣는 경로 src/test/resources : 테스트 관련 설정 파일 보관 경로 servlet-context.xml : 웹과 관련된 스프링 설정 파일 root-context.xml : 스프링 설정 파일 views : 템플릿 프로젝트의 jsp 파일 경로 web.xml : tomcat의 web.ml 파일 pom.xml : Maven이 사용하는 pom.xml pom.xml : 11 11로 변경 5.0.7.RELEASE ctrl+f 검색 : maven-compiler maven-compiler-plugin 2.5.1 11..

Spring 2023.03.20

스프링 웹 프로젝트 MVC - 책 목록 만들기, 책 검색 기능 추가하기 07

책 목록 개요 책 목록을 보여주기 위한 기능을 만든다. 브라우저에서 /list 주소에 접속하면 책 목록이 보여진다. 책 목록은 최신순으로 보여지게 된다. 책 목록 쿼리 작성 src/main/resources/sqlmap/book_SQL.xml // book_SQL.xml ... (생략) ... 책 목록 DAO 메소드 작성 책 목록 데이터베이스에 접속하는 메소드를 작성한다. src/main/java/sample/spring/codehows/BookDao.java 추 public List selectList(Map map) { return this.sqlSessionTemplate.selectList("book.select_list", map); } 책 목록 서비스 클래스 메소드 생성 src/main/jav..

Spring 2023.03.17

스프링 웹 프로젝트 MVC - 책 삭제 기능 만들기 06

책 삭제 기능 개요 책 삭제를 위한 기능을 만든다. 브라우저에서 /delete 주소에 http POST 메소드로 bookId 파라미터를 전달하면 책 정보가 삭제된다 책 삭제 기능 쿼리 작성 쿼리를 XML에 옮긴다. src/main/resources/sqlmap/book_SQL.xml // book_SQL.xml ... (생략) ... 책 삭제 기능 DAO 메소드 작성 // BookDao.java package sample.spring.codehows; import java.util.Map; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.s..

Spring 2023.03.17

스프링 웹 프로젝트 MVC - 책 수정 화면 만들기, 수정 기능 만들기 05

책 수정 화면 개요 책 수정 정보를 보여주기 위한 화면을 만든다. 브라우저에서 /update?bookId=1 주소에 접속하면 책 정보를 수정할 수 있는 화면을 보여준다 책 수정 화면 컨트롤러 메소드 추가 // BookController.java package sample.spring.codehows; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web...

Spring 2023.03.16

스프링 웹 프로젝트 MVC - 책 상세 화면 만들기 04

책 상세 화면 만들기 책 상세 정보를 보여주기 위한 화면을 만든다. 책 상세 쿼리 작성 책 상세 화면을 조회하는 쿼리를 작성한다. 매퍼 XML에 쿼리를 옮긴다. src/main/resources/sqlmap/book_SQL.xml // book_SQL.xml 책 상세 DAO 메소드 작성 src/main/java/sample/spring/codehows/BookDao.java // BookDao.java package sample.spring.codehows; import java.util.Map; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import o..

Spring 2023.03.16

스프링 웹 프로젝트 MVC - 프로젝트 세팅 00

스프링 MVC 프로젝트 생성하기 eclipse -> file -> new -> other를 차례로 누른다. 프로젝트 정보 입력창이 나오면 아래와 같이 입력한다. project name : SampleSpring templates : Spring MVC Project next 다운로드 창이 나오면 yes를 클릭한다. 기본 패키지 이름을 입력한다. 여기서는 sample.spring.codehows를 패키지로 사용한다. 자바 버전 11 버전 메이븐 스프링 버전을 최신 버전으로 업데이트 pom.xml 1.0.0-BUILD-SNAPSHOT 11 5.2.5.RELEASE 1.6.10 1.6.6 pom.xml 파일을 수정하고 나면 메이븐 빌드를 통해 변경된 메이븐 내용을 프로젝트에 반영해야 한다. 이클립스 -> Pr..

Spring 2023.03.16

스프링 웹 프로젝트 MVC - 책 데이터베이스 준비하기 02

데이터베이스 준비하기 책 관리 데이터베이스 생성 유저 데이터베이스 생성 한다 create database samplespring_mvc; 데이터베이스에 접근할수 있도록 권한 추가한다. samplespring_mvc 데이터베이스 선택후 쿼리 탭에서 쿼리 실행 use samplespring_mvc; create table book ( book_id int unsigned not null auto_increment primary key, title varchar(200) not null, category varchar(200) not null default '', price int null, insert_date datetime not null default now() ) collate='utf8mb4_gen..

Spring 2023.03.16

스프링 웹 프로젝트 MVC - 책 입력 기능 만들기 03

책 매퍼 XML 생성 // book_SQL.xml 책 DAO 클래스 생성 매퍼 XML을 실행시키는 DAO(Data Access Object) 클래스를 생성한다. src/main/java 하위 항목 sample.spring.yse 패키지를 우클릭해서 BookDao 클래스를 만들면 된다. 클래스 생성 후 아래 코드를 입력한다. 책 데이터 입력 쿼리를 실행하는 DAO 메소드를 만든다. 서비스 클래스는 비즈니스 클래스가 위치하는 곳이다. 스프링MVC 구조에서 서비스 클래스는 컨트롤러와 DAO를 연결하는 역할을 한다. // BookDao.java package sample.spring.codhows; import java.util.Map; import org.mybatis.spring.SqlSessionTempl..

Spring 2023.03.16

스프링 웹 프로젝트 MVC - 책 입력 화면 만들기 01

책 입력 화면 개요 책 정보를 입력하기 위한 화면을 만든다. 브라우저에서 /create 주소에 접속하면 책 정보를 입력할 수 있는 화면을 보여준다. src/main/java => sample.spring.codhows 패키지를 우클릭 후 new => other 를 차례로 누른다. // BookController.java package sample.spring.codhows; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.Reque..

Spring 2023.03.15
728x90
반응형