본문 바로가기

Spring/Spring Boot9

[SpringBoot] TimeZone 설정 후 출력하기 현재 사용자들에게 서비스하고 있는 프로젝트가 있다고 치자, 이 프로젝트를 다른 국가에 런칭해야 하는 상황 이라면? 당연히 현지에 있는 시간에 맞춰서 사용자에게 시간을 제공해줘야한다. 이럴 때, 사용하는것이 TimeZone 설정이다. 이번 글에서는 스프링부트에서 타임존을 어떻게 설정하고 어떤식으로 출력해서 사용하는지 알아보도록하자. 1. TestCode로 확인하기 우선 테스트케이스에서 타임존설정을 해서 국제표준시간과 한국시간을 출력해서 설정해 따라 결과가 달라지는 것을 보도록하자. @RunWith(SpringRunner.class) @SpringBootTest public class TimeZoneTest { @Test public void queryFilterForActionLogBotTest() { T.. 2021. 2. 3.
[SpringBoot] Spring Boot Scheduler(Cron) 사용방법 이번 글에서는 Spring Boot에서 설정한 시간마다 특정 동작을 하는 Scheduler 사용법에 대해 알아보도록하자 우선 매시간마다 특정 동작을 한다고하였는데, 동작을 실시하는 시간을 설정하는 문자열 방식을 살펴보자. 실행주기를 설정하는 문자열은 6개의 숫자, 문자, * 등으로 이루어져있다 1 2 3 4 5 6 // 순서 * * * * * * // 실행주기 문자열 // 순서별 정리 1. 초(0-59) 2. 분(0-59) 3. 시간(0-23) 4. 일(1-31) 5. 월(1-12) 6. 요일(0-7) 위와 같이 각 순서에 맞는 시간 설정 값이 있고, 예를 들어 살펴보도록하자. "0 0 * * * *" = the top of every hour of every day. "*/10 * * * * *" = .. 2020. 7. 25.
[SpringBoot] DataBase를 연동한 게시판 구현3 지난 시간에는 DataBase Developer Tool을 이용하여 미리 데이터를 넣어둔 상태에서 게시판 상세페이지를 보여주는 실습을 진행 하였다. 이번시간에는 게시판 추가, 수정의 기능을 추가해보도록 하자. 우선은, 기존에 게시판 게시글이 하나 밖에 없어서 시퀀스관리가 필요없었다. 하지만 만약 게시판 생성이 여러번 일어난다면, 각각의 게시판을 구분할 수 있도록 고유키(Primary key)를 관리해야한다. 고유키 관리는 DB에서 하기 때문에 기존에 생성해두었던 테이블의 컬럼을 수정하여 게시판의 고유키를 관리해보도록하자. 아래 글을 참고하여 board 테이블에 데이터가 insert되면, board_no 값이 자동증가할 수 있도록 컬럼을 수정하자. [PostgreSQL] Auto increment 하는 방.. 2019. 12. 22.
[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.
[SpringBoot] 게시판 구현3(DB 연결없음) 1. VO(Value Object) 생성 - 게시판을 위한 vo를 생성하기 전에 기본적인 디렉토리 구조를 생성하도록 한다. com/example/practice디렉토리 바로밑에 3개의 디렉토리를 생성한다. VO를 모아둘 vo디렉토리 로직을 수행할 클래스를 모아둘 service디렉토리 지금은 아니지만 추후에 DB와 연결할때 사용할 repository디렉토리 - 구조를 완성했다면 생성한 vo 디렉토리 바로 밑에 "BoardVo" 클래스를 생성한다. 필드 중에 당장 사용하지 않을 값들이 있지만 일단 작성하도록한다. BoardVo.java package com.example.practice.vo; public class BoardVo { private Long no; private String title; pr.. 2019. 11. 17.
[SpringBoot] 게시판 구현2(DB 연결없음) 1. 게시판 페이지 경로 설정 게시판은 일단 가지고 있던 html 파일과 css 파일로 작업을 할 것이다. 경로는 아래와 같이 만들고, 여기서 주시해야할 파일은 resources/static/css/board.css 파일과 resources/templates/views/board/board.html파일이다. css파일 및 html 파일이 따로 없으면 아래의 html 코드만 사용하도록한다. resources/templates/views/board/board.html MySite 로그인 회원가입 회원정보수정 로그아웃 jh님 안녕하세요 ^^; 번호 제목 글쓴이 조회수 작성일 1 안녕하세요~ 이효리 13 2019-11-11 삭제 ◀ 1 2 ▶ 글쓰기 jh 방명록 게시판 (c)opyright 2015, 2016,.. 2019. 11. 12.
[SpringBoot] 게시판 구현1(DB 연결없음) SpringBoot 게시판 구현1(DB 연결없음) 1. 타임리프 라이브러리 추가 게시판구현을 할 때 Thymeleaf 템플릿 엔진을 사용할것이다. (아래내용 참고) https://github.com/ihoneymon/spring-boot-orm-learn/blob/master/THYMELEAF_TEMPLATE_ENGINE.md#thymeleaf-%EC%9D%B4%EC%95%BC%EA%B8%B0 이제 바로 적용하도록 해보자. 아래 링크에 정리가 잘되어있어서 그대로 따라하면 된다. https://github.com/ihoneymon/spring-boot-orm-learn/blob/master/THYMELEAF_TEMPLATE_ENGINE.md#%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8.. 2019. 11. 12.
[SpringBoot] Project 생성 1. SpringBoot Project 생성 1. Gradle 프로젝트 생성File > New > Project 를 선택하고 아래 순서를 따른다. 2번째 사진참조GroupId자신의 프로젝트를 고유하게 식별하게 해 주는 것package 명명 규칙을 따른다.ArtifactId?제품의 이름으로, 버전 정보를 생략한 jar 파일.프로젝트 이름과 동일하게 설정.소문자로만 작성함. 특수문자는 사용 xVersion?SNAPSHOT: 개발용, RELEASE: 배포용숫자와 점을 사용하여 버전 형태를 표현(1.0, 1.1, 1.0.1 등) 2. 프로젝트 실행 Run 버튼(or Ctrl + F11)을 눌러서 프로젝트를 실행한다.실행도중 아래와 같은 오류가 나면 아래링크를 참조한다. https://github.com/Yuja.. 2019. 11. 12.