본문 바로가기

전체 글75

[SpringBoot] DataBase를 연동한 게시판 구현3 지난 시간에는 DataBase Developer Tool을 이용하여 미리 데이터를 넣어둔 상태에서 게시판 상세페이지를 보여주는 실습을 진행 하였다. 이번시간에는 게시판 추가, 수정의 기능을 추가해보도록 하자. 우선은, 기존에 게시판 게시글이 하나 밖에 없어서 시퀀스관리가 필요없었다. 하지만 만약 게시판 생성이 여러번 일어난다면, 각각의 게시판을 구분할 수 있도록 고유키(Primary key)를 관리해야한다. 고유키 관리는 DB에서 하기 때문에 기존에 생성해두었던 테이블의 컬럼을 수정하여 게시판의 고유키를 관리해보도록하자. 아래 글을 참고하여 board 테이블에 데이터가 insert되면, board_no 값이 자동증가할 수 있도록 컬럼을 수정하자. [PostgreSQL] Auto increment 하는 방.. 2019. 12. 22.
[PostgreSQL] Auto increment 하는 방법 1. 테이블을 새로 생성하여 적용하는 경우 (기존방식) -- 1. 시퀀스생성 CREATE SEQUENCE 시퀀스이름; -- ex CREATE SEQUENCE board_sequence; CREATE SEQUENCE board_sequence START 1; -- 2. 테이블 생성하면서 시퀀스 적용하기 CREATE TABLE 테이블이름 ( 컬럼이름 integer NOT NULL DEFAULT nextval('시퀀스이름') ); -- ex CREATE TABLE board ( board_no integer NOT NULL DEFAULT nextval('board_sequence') ); 2. 기존 테이블 컬럼에 적용하는 경우 (기존방식) -- 1. 시퀀스 생성 CREATE SEQUENCE 시퀀스이름; -- .. 2019. 12. 21.
[Spring] @Component와 컴포넌트 스캔 이번 글에서는 @Component와 이 어노테이션이 어떻게 인식이 되며, 어떻게 사용되는지 알아보도록하자. 1. @ComponentScan의 범위 @Component 어노테이션을 명시한 클래스는 @ComponentScan의 내부적인 동작에 의해서 스캐닝 되고 Bean으로 등록된다. 스캐닝되는 범위는 @ComponentScan이 명시된 클래스가 위치한 디렉토리를 포함해서 그 하위 디렉토리들이다. 아래 그림에서는 DemoApplication 클래스가 @ComponentScan을 가지고 있기때문에 해당 클래스가 위치한 디렉토리인 com.example.demo 이하의 경로에 있는 범위를 스캔하는 것이다. SpringBoot에서는 main 메소드를 가지고 있는 클래스에 @SpringBootApplication 어.. 2019. 12. 17.
[Docker] Docker Hub에 이미지 올리기 생성한 Docker image를 docker hub에 올리는 방법에 대해 알아보자. 우선, Docker hub 홈페이지에서 회원가입을하도록 하자. > [LINK - Docker hub](https://hub.docker.com/) 회원가입을 완료한 후 이전에 생성 해두었던 Docker image를 확인해보자. #>dokcer images REPOSITORY TAG IMAGE ID CREATED SIZE node-docker latest 12f898fee30a 26 minutes ago 898MB postgres latest 4a82a16ee75c 13 days ago 394MB d6e670afc857 2 weeks ago 895MB 714a6a8aef86 2 weeks ago 895MB 여기서는 node.. 2019. 12. 17.
[Spring] @Autowired 및 Bean 라이프 사이클 Spring에서 의존성주입을 하기 위해 사용하는 어노테이션이 바로 @Autowired 이다. 기본적으로 필드에 명시할 수도 있고 set메소드의 파라미터로 주입하고 싶은 클래스를 넣고 해당 메소드에 명시할 수 도있다. BookService package com.example.demo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class BookService { @Autowired BookRepository bookRepository; // setter는 객체생성 이후에 호출하기 때문에 일단 BookService 객체가 생성될.. 2019. 12. 15.
[Spring] Spring Bean 설정 방법 - Java Config 이전 글에는 XML Config를 이용하여 Spring Bean 설정 하는 법을 진행하였다. 이 글에서는 Java Config 설정 방식에 대해 알아보려고 하는데, 기본적인 클래스가 필요 하기 때문에 혹시라도 이전 글인 XML Config를 이용한 Spring Bean 설정을 읽지 않았다면 참고하길 바란다. https://dbjh.tistory.com/21?category=743067 [Spring] Spring Bean 설정 방법 - XML Config Spring의 Bean 설정 방법을 알아보도록 하자. 예전에는 XML Config 방식을 사용하였지만 최근에 와서는 Java Config 방식을 사용한다. 각 설정 방식을 보고 Bean이 등록되는 방법을 알아보자. Bean 설정 실습을 위.. dbjh... 2019. 12. 11.
[Spring] Spring 기본 동작 순서도 2019. 12. 11.
[Spring] Spring Bean 설정 방법 - XML Config Spring의 Bean 설정 방법을 알아보도록 하자. 예전에는 XML Config 방식을 사용하였지만 최근에 와서는 Java Config 방식을 사용한다. 각 설정 방식을 보고 Bean이 등록되는 방법을 알아보자. Bean 설정 실습을 위해 폴더경로 및 BookService와 BookRepository 클래스를 생성하도록 하자. BookService package com.example.demo; import org.springframework.stereotype.Component; public class BookService { BookRepository bookRepository; public void setBookRepository(BookRepository bookRepository){ this.b.. 2019. 12. 10.
[Spring] Spring IOC와 DI 1. IOC(Inversion Of Control : 제어권 역전) 자바가 개발된 초기에는 객체를 생성하고 객체간의 의존관계를 결정하고 제어하는 것은 개발자의 몫이었다. 그러나 Servelt, EJB(Enterprise Java Beans)가 등장하면서, 개발자의 제어권이 Servlet과 EJB를 관리하는 외부의 컨테이너로 넘어갔고 객체의 생성, 관리까지 모든 객체를 제어하는 권한이 프로그램에게 넘어갔다. 이것을 바로 IOC 라고 한다. 2. DI(Dependeny Injection : 의존성 주입) 각 객체간의 의존성을 컨테이너가 자동으로 연결해주는 것 개발자가 빈(Bean : 자바의 IOC 컨테이너가 관리하는 객체) 설정파일에 의존관계에 대한 정보를 입력해두면 컨테이너가 자동적으로 연결해준다. *설정.. 2019. 12. 9.
[Docker] Docker로 Spring Boot 배포하기 https://dbjh.tistory.com/16?category=739428 [Docker] Docker로 Node.js 배포하기 1. 우선 Docker를 실행하기 전에 PC의 가상화 여부를 확인하고 관련된 설정부터 바꾼다. https://support.bluestacks.com/hc/ko/articles/115003910391-%EB%82%B4-PC%EC%97%90%EC%84%9C-%EA%B0%80%EC%83%81%ED%99%.. dbjh.tistory.com 위의 링크에서 2번항목 까지 마친 후 아래 링크대로 진행한다. https://www.bsidesoft.com/?p=7871 [Docker] 인텔리제이에서 도커로 배포하기 인텔리제이에서 도커 이미지를 빌드하고 배포하는 방법을 소개합니다. www... 2019. 12. 8.
[SpringBoot] DataBase를 연동한 게시판 구현2 지난 시간에는 데이터베이스를 설치하고 DB developer tool을 이용해 쿼리를 실행하는 단계 까지 진행하였다. 이번 시간에는 Spring boot의 설정값 및 필요한 파일들을 추가하여 Postgresql DB와 연결해보도록 하자. 1. Mybatis 및 Postgresql 의존성 주입을 위한 gradle 설정 - Mybatis 및 Postresql 관련 라이브러리를 사용하기 위해 application.properties 파일의 dependencies에 Mybatis와 Postgresql의 디펜던시를 추가하도록하자. build.gradle // 코드중략 dependencies { // 기존에 있던 문구들 implementation 'org.springframework.boot:spring-boot-.. 2019. 12. 4.
[SpringBoot] DataBase를 연동한 게시판 구현1 일단 DataBase 관련 작업을 하기전에 아래와 같이 게시판 전용 Controller를 생성한 후 URL 매핑 경로를 수정한다. BoardController.java // 코드중략 @Controller @RequestMapping("/board") public class BoardController { @Autowired private BoardService boardService; @RequestMapping("/main") // public String getBoardList(Model model){ List boardList = boardService.getBoardList(); model.addAttribute("boardList", boardList); return "views/board/bo.. 2019. 12. 3.