Programming/JPA ⁄Spring 50

Spring 에서 페블 템플릿 Pebble template 사용하기 2 ) Spring boot 프로젝트에서 사용하기

https://shanepark.tistory.com/197 글에 이어지는 내용입니다. 본 포스팅은 https://pebbletemplates.io/wiki/guide/spring-boot-integration/ 를 토대로 작성되었습니다. 프로젝트 생성 일단 스프링 부트 프로젝트를 생성 합니다. Spring Starter를 이용하면 쉽게 생성 할 수 있습니다 Maven 프로젝트로 생성 했지만 Gradle로 해도 무관합니다. 적당한 Location에 적당한 이름으로 프로젝트를 생성합니다. ​ 간단하게 Sprinig Web만 추가해서 생성하겠습니다. Finish 를 눌러 프로젝트를 생성 합니다. Dependency 추가 Maven io.pebbletemplates pebble-spring-boot-start..

Spring 에서 페블 템플릿 Pebble template 사용하기 1 ) 기본 사용

Pebble Template이란 ? Pebble은 PHP의 유명 템플릿 엔진인 Twig 에서 영감을 받았으며 Python Jinja의 Template Engine 문법과 유사한 Java 템플릿 엔진 입니다. template을 상속 하는 기능과 읽기 쉬운 문법이 특징인 서버사이드 템플릿 엔진 입니다. 기본 사용 첫 글에서는 간단하게 https://pebbletemplates.io 의 Basic Usage를 하나씩 따라해보겠습니다. 1. dependency 추가 Spring Boot 에서는 pebble-spring-boot-starter 를 추가해서 사용하지만, 일단 Basic Usage에 쓰인 대로 따라가보겠습니다. Maven io.pebbletemplates pebble 3.1.5 Gradle compi..

SpringBoot + PostgreSQL + Hibernate ) 간단한 게시판 만들기

SpringBoot + PostgreSQL + Hibernate ) 간단한 게시판 만들기 앞으로 맡을 프로젝트에서 SpringBoot 와 PostgreSQL 그리고 Hibernate를 기술스택으로 사용하게 될 것 같습니다. 여태 배웠던 Spring Legacy Project + Oracle Database + Mybatis 환경에서 조금씩은 달라 지겠지만, 크게 다를 것은 없기 때문에 금방 적응 할 수 있을 것이라고 믿습니다. 그래도 조금이라도 빨리 해당 기술들에 대한 막연함을 해소하고, 업무에 대한 준비를 갖추고 싶어 틈틈이 시간나는 대로 가장 기본적인 게시판을 만들어 보았습니다. 데이터 검증 과정이 없고 화면 구성이 투박하지만, 그 만큼 쉬운 코드로 간단하게 작성 해 보았습니다. 제일 먼저 할일은 데..

STS 로 Spring Boot 프로젝트 만들기. 6) MYSQL 연동하기 및 Cannot load driver class: com.mysql.cj.jdbc.Driver spring boot, No serializer found for class 문제 해결

STS 로 Spring Boot 프로젝트 만들기. 6) MYSQL 연동하기 및 "Cannot load driver class: com.mysql.cj.jdbc.Driver spring boot" 에러와 "No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer " 해결하기 - 제가 읽은 책에서는 MYSQL 연동하는 과정이 없어서 따로 해 보았습니다. - 기존에 집에서 서버로 사용하는 노트북에 MariaDB가 돌아가고 있어 MariaDB로 진행하지만, 해당 내용에서는 MYSQL과 같습니다. - 5편(https://s..

STS 로 Spring Boot 프로젝트 만들기. 5) 데이터 베이스 사용하기. CRUD 예제

STS 로 Spring Boot 프로젝트 만들기. 5) 데이터 베이스 사용하기. CRUD 예제 참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노 Eclipse 에서 Visual Studio Code로 넘어오긴 했지만, 여전히 사용하는건 STS기 때문에 제목은 그대로 하였습니다. 당장 내일까지 VSCODE에 익숙해져야만 하는 저의 사정상 이번 포스팅부터 VSCODE를 사용하지만, 이클립스건, VSCODE건, IntelliJ 건 결국 똑같으니 코드만 변경하면서 포스팅 내용을 확인 하시면 됩니다! JPA (Java Persistence API)를 사용해보려고 합니다. 책에서는 HSQLDB(애플리케이션에 DB를 내장), JTA, Spring ORM, Spring AOP를 사용해본다고 하는데, Sp..

Visual Studio Code에 Spring Boot 필요한 Plugin들 설치하기

VSCODE는 정말 안써봤는데. 네이버 웹툰 2차 과제가 vscode 상에서 진행되는걸 방금 확인했습니다. 몇개 이것저것 클릭 해 보니 전체적으로 프로젝트 관리하는 형태는 비슷 하던데, vscode로 코딩을 하면 단축키도 다를테고 이것 저것 어떤차이점이 있을지 확인이 필요 해서 vscode로 스프링 부트를 해보려고 합니다. 좌측 하단의 Extensions 버튼을 누르고 Spring Boot Extention 을 검색해서 해당 Pack을 설치 했습니다. 이게 설치 중이라고는 나오는데 설치 현황이 나오지 않는데다가 설치하는데 시간이 꽤나 걸리다 보니 답답합니다. 그래도 보고 있으면 하나씩 installed 로 바뀌기는 합니다. 이제 2개 남았네요. 별표 쳐져 있는 걸 보니 Java Extension Pack..

Programming/JPA ⁄Spring 2021.07.09 (2)

STS 로 Spring Boot 프로젝트 만들기. 4) Thymeleaf 조금 더 활용해보기

STS 로 Spring Boot 프로젝트 만들기. 4) Thymeleaf 조금 더 활용해보기 참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노 Thymeleaf를 조금 더 활용해 보겠습니다. 1. parameter 사용하기 쿼리스트링으로 들어온 파라미터를 Controller에서 Model을 통해서 템플릿쪽으로 전달을 해 보았는데요, 이번에는 Controller를 통하지 않고 템플릿 내에서 직접 매개변수를 이용 해 보도록 하겠습니다. package com.shane.boot.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; im..

STS 로 Spring Boot 프로젝트 만들기. 3) Thymeleaf 를 이용한 웹 페이지 만들기

STS 로 Spring Boot 프로젝트 만들기. 3) Thymeleaf 를 이용한 웹 페이지 만들기 참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노 1. pom.xml에 Thymeleaf 추가하기 pom.xml의 Dependencies 탭을 열고 'Add' 버튼을 눌러 추가 하겠습니다. 간단하게 Group Id와 Artifact Id 만 입력 하고 OK 버튼을 누른 뒤, 저장 합니다. Mac의 경우는 Command + S, Windows 라면 Ctrl+S 커맨드를 입력 해 저장을 한다면, 빌드가 되는걸 우측 하단에서 확인 할 수 있습니다. Dependency Hierarchy 에서 위와 같이 필요한 dependency 들이 들어와 있는 것을 확인 할 수 있습니다. 따로 버전도 입력하지 ..

STS 로 Spring Boot 프로젝트 만들기. 2) RestController 활용해 API 컨트롤러 만들기

STS 로 Spring Boot 프로젝트 만들기. 2) RestController 활용해 API 컨트롤러 만들기 참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노 https://shanepark.tistory.com/157 STS 로 Spring Boot 프로젝트 만들기. 1) STS설치 및 프로젝트 생성 STS 로 Spring Boot 프로젝트 만들기. 1) STS설치 및 프로젝트 생성 참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노 아래 페이지에서 본인에게 맞는 STS 를 다운 받습니다. 저는 Eclipse용 shanepark.tistory.com 위의 글에 이어지는 내용 입니다. base Package 에 하나의 Application.java 파일이 생성 되어 있는데요..

STS 로 Spring Boot 프로젝트 만들기. 1) STS설치 및 프로젝트 생성

STS 로 Spring Boot 프로젝트 만들기. 1) STS설치 및 프로젝트 생성 참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노 아래 페이지에서 본인에게 맞는 STS 를 다운 받습니다. 저는 Eclipse용 STS4를 다운 받도록 하겠습니다. https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Co..

Groovy로 Spring boot 어플리케이션 개발해보기. 2) 템플릿 작성하기

Groovy로 Spring boot 어플리케이션 개발해보기. 2) 템플릿 작성하기 참고서적 : 스프링부트 프로그래밍 입문 - 쇼다 츠야노 [길벗] html{ head{ title('index page') } body{ h1('hello') p('world!') } } VS코드를 이용해 위와 같은 template을 작성 했습니다. 이후 index.tpl 이라는 이름으로 저장합니다. 같은 경로에 templates 라는 폴더를 만들고 해당 폴더에 저장 해 줍니다. @Controller class App{ @RequestMapping("/") @ResponseBody def home(ModelAndView mv){ mv.setViewName("index") mv } } app.groovy 파일의 코드 입니다. ..

Mac) Groovy로 Spring boot 어플리케이션 개발해보기. 1) Hello world

Groovy로 Spring boot 어플리케이션 개발해보기. > Mac OS X를 기준으로 설명하지만, windows를 사용하는 분들도 수동 다운로드를 한다면 비슷하게 진행 할 수 있지 않을까 생각됩니다. https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.installing.cli Getting Started If you are getting started with Spring Boot, or “Spring” in general, start by reading this section. It answers the basic “what?”, “how?” and “why?” ques..

스프링부트) Spring Boot 시작하기.

프로그래머스를 통해 Naver Webtoon 코딩테스트에 참가를 해 보았습니다. 아직 1차 테스트를 합격 한 건 아니지만, 2차 과제 테스트 기술인 Spring Boot를 한번도 해본 적이 없어서 이번에 한번 시도해보려고 합니다. Spring Boot는 Spring framework를 좀 더 쉽고 간단하게 사용하게 해주는 툴 이라고 이해하면 될 듯 합니다. 위의 소개를 요약하자면, Spring boot는 spring 기반의 stand alone 어플리케이션을 '바로 실행' 할 수 있는 상태로 쉽게 만들어 준다고 합니다. war 파일을 deploy 할 필요도 없이, Tomcat 등이 내포 되어 있다고 하구요. xml 설정을 할 필요도 없다고 하네요. Spring.io에 있는 Spring Initializr..

Programming/JPA ⁄Spring 2021.07.05 (3)

MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기

MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기 VO 객체를 만들어 두고 MyBatis 에서 맵핑을 해서 쓴다면 정말 간편하고 쉬운데요, property 가 적고, 자주 사용하지 않는 객체들도 모두 VO 로 등록하기엔 비 효율적입니다. 마침 팀원분 한 분이 Map 에 맵핑 하는걸 궁금해 하시기도 해서 이번 기회에 Map으로 한번 코드를 작성 해 보았습니다. package best.gaia.project.dao; import java.util.List; import java.util.Map; import org.springframework.stereotype.Repository; @Repository public interface RepositoryDao {..

스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기.

스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기. java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) at org.apache.tomcat.u..