목록분류 전체보기 (70)
진이의 Developer Story
지난 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 기반 프로젝트입니다. 따..
===== 실행 ===== 1. Ctrl + F11 : 바로 전에 실행했던 클래스 실행 ===== 소스 네비게이션 ===== 1. Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때 2. Alt + ->, Alt + 입력하는 도중엔 언제라도 강제 호출 가능하다. 2. F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다. 3. Ctrl + l : 원하는 소스 라인으로 이동 로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다. 4. Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다. 5. 한줄 삭제 CTRL + D 6. 파일 닫기..
Eclipse Code Template을 사용하면 주석을 손쉽게 작성할 수 있다. CTRL+SHIFT+J 를 누르면 Types, Fields, Methods에 맞게 주석이 완성된다. /** * @author ${users} */ ${users} 변수를 사용할 경우 OS 유저명으로 나오는데, 이는 이클립스의 설정을 바꿔주어야 한다. 이클립스 폴더 내에 eclipse.ini 파일을 수정한다. eclipse\eclipse.ini -Duser.name=유저이름
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 내에 중복 될 경우
Javadoc은 축약해서 말하자면 프로그래머들의 의사소통이라고 할 수 있습니다. 너무 난해한 표현인가요? 그럼 예로 들어서 여러분이 Java 프로그래밍을 할 때 참고하는 JAVA API도 Javadoc입니다. 그 외에도 자바를 활용하여 만든 수많은 결과물(Spring, Vert.X...)들도 API문서를 제공합니다. 이러한 API에는 트리구조로 작성되어, 패키지 -> 클래스 -> 메소드 순서로 확인이 가능합니다. API 문서가 존재하지 않는다면 작성되어 배포되는 클래스와 메소드의 쓰임새를 알 수 없겠지요. 평소에 작성하는 주석들이 모여서 Javadoc이 만들어집니다. 따라서 주석을 보기좋게 작성하는 습관을 길러야 겠습니다. 주석을 쉽게 작성하는 방법은 이클립스에서 Shift+Alt+J 키를 누르면 기본 ..
(1) Verticle Verticle은 Vert.x로 개발 될 수있는 코드의 조각 Vert.x Instance 아래에 실행되며 각 객체는 독립적이다. 독립적인 Verticle끼리는 EventBus를 통해 통신할 수 있다. (2) Worker Verticle스레드를 블록시키는 경우에는 이벤트 루프 스레드가 아닌, 별도로 관리되는 Worker 스레드 풀을 통해 실행하는 Verticle (싱글 스레드이기 때문) (3) Vertx Vert.x 코어 API로의 진입점. NetServer & NetClient (TCP/SSL), HttpServer & HttpClient (HTTP/HTTPS), SockJSServer (4) EventBus Vert.x 로부터 메세지가 수신될 때 호출이 된다. 일부 혹은 전체의 ..
@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% 지식은 쌓아야 하지 않겠습니까. 그리고 그 지식 또한 쉽게 쌓기가 쉽지가 않습니다. 그래서 저는 쉽게 이해할 수 있도록 나름 노력하려고 합니다. 여담이 길어졌네요~ 이제 결론으로 들어가볼까요? 토비의 ..