목록Java/Spring (28)
진이의 Developer Story
여태까지 작업한 내용의 중간 결과입니다. 그 많은 셋팅과 클래스를 작성했지만 결과물이 고작 이것밖에 안된다니... 하지만 기본 셋팅 이후에 하나씩 추가하는 작업은 그리 어렵지 않습니다 ^^ 지금은 리스트를 불러오기만 가능하지만, 글작성, 글보기, 조회수 증가 등등은 기존에 작성했었던 클래스를 약간 수정만 해주면 전부 가능합니다!! 지금은 VIEW를 먼저 작성해봐야 겠지요? (1) list.jsp 게시판 리스트 글번호 제목 글쓴이 날짜 조회수 ${list.idx } ${list.title } ${list.id } ${list.date } ${list.hit } 여기서 여러분이 아셔야 할 내용은 JSTL을 어떻게 사용하는지만 아시면 될듯합니다. 지난번 컨트롤러에서 리턴해준 model 값을 출력해주는 부분인데..
(1) BoardVO package com.sample.board.vo; import java.sql.Timestamp; public class BoardVO { private int idx; private String title; private String content; private String id; private String hit; private Timestamp date; public int getIdx() { return idx; } public void setIdx(int idx) { this.idx = idx; } public String getTitle() { return title; } public void setTitle(String title) { this.title = titl..
지난 DB셋팅 포스트에 이어 MyBatis 셋팅입니다. (1) mapper-context.xml /WEB-INF/spring 디렉토리에 mapper-context.xml 파일을 생성합니다. /WEB-INF/ 디렉토리에 sqlmap 디렉토리를 생성해주시고, sqlmap 디렉토리에 mappers 디렉토리를 생성해주세요! 여기서 잠깐! mapper-context의 내용을 읽을 수 있는 이유는? 지난 포스트에서 web.xml에서 컨텍스트 파라미터를 수정해줌으로써 mapper-context.xml을 읽을 수 있게 되었습니다. MyBatis를 사용하기 위해서 필요한 빈은 2가지입니다. 바로 SqlSessionFactoryBean과 SqlSessionTemplate인데 위와 같이 적어줍니다. 지금은 설정방법만 알아보..
(1) 데이터베이스 및 테이블 생성 여러가지 DBMS(MS-SQL, Oracle, MySQL)가 있지만 저는 MySQL를 사용해보겠습니다. MySQL을 설치해주시고, Database와 Table을 생성해봅시다. board테이블의 필드는 다음과 같습니다. Field Type Comment idx int(11) 게시글 번호 title varchar(100) 게시글 제목 content varchar(5000) 게시글 내용 id varchar(50) 게시글 작성자 hit int(11) 조회수 date datetime 작성날짜 // sample 데이터베이스를 생성한다. create database sample; // 사용할 DB를 sample로 지정한다. use sample; // sample DB에 board ..
※ 본 포스트는 개인 공부 목적으로 정리한 글이므로, 틀린 사항이 있을 수도 있습니다. 지적해주시면 수정하도록 하겠습니다. Spring Framework와 MyBatis를 사용하여 게시판을 만들어보겠습니다. (1) 프로젝트 생성 New -> Spring Project Project Name을 적어주시고, Templates는 Spring MVC Project를 선택해줍니다. 그리고 프로젝트 패키지를 지정해주셔야 합니다. (최소 3단구조로 만들어야 합니다.) 저는 Project Name 에는 board, 패키지는 com.sample.board로 지정하였습니다. 프로젝트 생성까지 끝마쳤다면 본격적으로 게시판을 만들어보겠습니다. (2) pom.xml 정의 앞서 만든 프로젝트는 Maven 기반 프로젝트입니다. 따..
ERROR MESSAGEMapped Statements collection does not contain value for ~ CASE1. mapper id가 틀린 경우2. Parameter와 bean의 field명이 틀린 경우3. sql.xml에서 정의된 namespace와 DAO에서 호출하는 namespace가 다를 경우4. mapper가 정의가 되어 있지 않거나 Spelling이 틀린 경우5. mapper에 정의된 namespace 명칭이 같은 Application 내에 중복 될 경우
@Autowired와 @Resource 위의 2가지 애노테이션은 모두 의존성 주입을 하는 애노테이션입니다. @Autowired @Resource 패키지 org.springframework.beans .factory.annotation.Autowired javax.annotation.Resource 우선순위 ByType -> ByName ByName -> ByType 비고 @Qualifier와 함께 사용 가능 name 어트리뷰트 public class Person { String name; String job; getter/setter... } person1 programmer person2 teacher (1) @Autowired @Autowired 애노테이션은 IoC 컨테이너에 만들어져있는 bean 을..
토비의 스프링은 총 3권으로 방대한 내용으로 구성되어 있습니다. 아무리 읽어도 이해가 가지 않는 저와 같은 분들을 위해 최소한의 설명으로 이해하기 쉽게 글을 올리고자 합니다. 여담이지만 어느 블로그에서 우연히 20:80 법칙에 대해 말을 하더군요. 범인(凡人, 평범한사람)의 경우 20%의 지식으로 실무의 80%는 해결이 가능하다고 말이지요. 어쨋든 20%의 지식을 쌓으면 어느정도 대부분의 해결은 가능하다는 말입니다. 나머지 20%는 능력자에게 맡기도록 하지요... 어쨋든 개발자로 먹고 살려면 최소한 20% 지식은 쌓아야 하지 않겠습니까. 그리고 그 지식 또한 쉽게 쌓기가 쉽지가 않습니다. 그래서 저는 쉽게 이해할 수 있도록 나름 노력하려고 합니다. 여담이 길어졌네요~ 이제 결론으로 들어가볼까요? 토비의 ..