728x90

spring boot 8

jasypt 설정 하기

jasypt 설정 기본순서 dependency 추가 config bean 코드 추가 application.yml에 jasypt 사용할 bean설정 설정 dependency 추가 implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5' config bean 코드 추가 import org.jasypt.encryption.StringEncryptor; import org.jasypt.encryption.pbe.PooledPBEStringEncryptor; import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig; import org.springframework.bea..

BackEnd/Spring Boot 2023.05.01

JPA 간단 사용법

JPA 기본적으로 사용 하는 methods와 같이 사용을 한다. Repository interface를 만들고 하단 interface를 extends하여 사용한다. Repository JPA에서 제공하는 가장 기본적인 인터페이스로, 엔티티의 저장, 조회, 삭제 등의 기본적인 CRUD 기능을 제공 하지만 페이징 기능이나 정렬 기능 등이 없습니다. CrudRepository Repository 인터페이스를 상속하여 CRUD 기능을 제공하는 인터페이스 save(), findOne(), delete() 등의 기본적인 CRUD 메서드 외에도 findAll(), count(), exists() 등의 메서드를 제공합니다. PagingAndSortingRepository CrudRepository 인터페이스를 상속하여..

BackEnd/Spring Boot 2023.04.17

채팅 만들기_1(basic)

개요 웹 개발을 하면서 꼭 해봐야 하지만 잘 안해보는 2가지 기술중 하나였습니다. 채팅은 심심치 않게 볼수있는데 웹 서비스 기술이였지만 내가 한 회사, 외부 프로젝트에서는 적용한 적이 없는 기술이였습니다. 그래서 이번에 어디서든 쉽게 적용 할수있게 프로젝트를 하나 만들어 봤습니다. 스펙 Spring Boot2.7.7 Java 17 jsp 사용 dependencies // Spring Boot Web Server Dependency implementation 'org.springframework.boot:spring-boot-starter-web' // Spring Web Socket implementation 'org.springframework.boot:spring-boot-sta..

BackEnd/Spring Boot 2023.04.16

Request PathVariable Enum Converter

개요 API 개발 도중 @PathVariable를 enum Type으로 설정 하였다. 이러다 보니 한가지 오류가 발생했는데 Enum에 없는 데이터가 넘어 오면 Exception이 발생 하였습니다. 이를 해결하기 위해 Spring Boot Converter를 사용하였습니다. 이는 @PathVariable 뿐만 아니라 @ModelAttribute, @RequestParam에서도 동작 한다고 되어 있다. 따라서 외부에서 날라오는 데이터를 바인딩 하는데 Header에 있는 데이터 뿐만 아니라 Body에 있는 데이터도 되는지 한번 확인해 봐야 할꺼 같다.(Stack Over Flow에서 비슷한 질문인데 확인 해봐 야 할거 같습니다.) Spring Boot Document Spring 3.0 Document에는 이..

BackEnd/Spring Boot 2023.04.16

TypeHandler

개요 Mysql 과 Mybatis로 개발을 진행 하였습니다. Paging 처리된 List를 불러오는 도중 하나의 Row에 특정 code list를 한번에 불러 왔어야 했습니다. 그러다 보니 Left Join과 Limit을 처리 하면 code list 별로 짤린후 resultMap이 되어 Collection을 사용해도 정확한 Paging 데이터를 가져올수 없었습니다. 그래서 서브쿼리에 GROUP_CONCAT을 사용하여 Code List를 한번에 문자로 받아 왔습니다. 하지만 이는 String으로 넘어 오기 때문에 List Type 으로 각각 쪼갤려면 서버에서 for문을 돌려서 하나하나 split 하여야 했습니다. 이러한 동작을 별도로 하기 전에 TypeHandler를 사용하여 resultMap에서 데이터를..

BackEnd/Spring Boot 2023.04.16

Vue.js + spring 프로젝트 생성

Spring Boot & Vue.js 연동 Spring Boot & Vue.js 기본 연동 프로젝트 (springvue > images : HELP.md 에 필요한 이미지) 구조 Front : Vue.js Backend : Spring Boot 기본 설치 목록 Vue.js Vue-CLI Node.js 프로젝트 생성순서 Spring Boot 프로젝트 생성 Vue.js 프로젝트 추가(현재는 vue2 설치) vue create 'project name' springvue > vue-frontend > vue.config.js 파일 추가 module.exports = { // npm run build시 파일 생성위치 outputDir: "../src/main/resources/static", //..

FrontEnd/Vue 2023.04.15

Spring Boot 서버 구축[2]

이번 내용은 생성된 프로젝트에 웹 프로젝트를 실행 하기 위해 필요한 dependency를 추가 하고 필요한 코딩을 할려고 한다. 0.프로젝트 구조 이전 시간에 구현한 프로젝트 이다. 여기서 각 파일이 어떤 일을 하며 어떤 내용을 입력 하는지 알아 두면 좋다. DemoApplication.java : 추후 이름을 바꿀꺼지만 서버 실행시 처음으로 실행 되는 부분이다. application.properties : 웹에 필요한 환경 설정 정보를 입력하는 부분이다. 입력시 key=value 방식으로 입력을 하고 여기에 port번호 prefix, DB 내용 등 다양한 서버 정보를 입력 및 설정할수있다. build.gradle : dependency를 입력하는 곳이다. 꼭 dependency를 입력 하지 않고 Gra..

BackEnd/Spring Boot 2023.04.15

Spring Boot 서버 구축[1]

사람마다 프로젝트를 만드는 방법이 다르다. 사용하는 Tool 따라 Spring, DB Connect Dependency Version에 따라 프로젝트 구성 방법이 다르다. 따라서 같은 프로젝트를 만들 때도 접근 및 단축키 등 이 많이 다를 수도 있다. 이를 바탕으로 현재 만들려는 프로젝트는 이러하다. Tool : Visual Studio Code Spring Boot Version : Spring Boot 2.3.1.RELEASE DB : Mysql Build Tool : Gradle Java : 1.8.0_251 OS : WIndow 0.프로젝트를 진행하기 이전 기본 설치 항목 Tool : Visual Studio Code DB : Mysql Java : 1.8.0_251 1. Visual Studio..

BackEnd/Spring Boot 2023.04.15
728x90