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.jsBackend : Spring Boot기본 설치 목록Vue.jsVue-CLINode.js프로젝트 생성순서Spring Boot 프로젝트 생성Vue.js 프로젝트 추가(현재는 vue2 설치) vue create 'project name'3. springvue > vue-frontend > vue.config.js 파일 추가```module.exports = { // npm run build시 파일 생성위치 outputDir: "../src/main/resources/static", // index.ht..

FrontEnd/Vue 2023.04.15

Spring Boot 서버 구축[2]

이번 내용은 생성된 프로젝트에 웹 프로젝트를 실행하기 위해 필요한 dependency를 추가하고, 필요한 코딩을 작성하는 과정을 다룬다.0. 프로젝트 구조이전 시간에 구현한 프로젝트이며, 아래 이미지처럼 구성되어 있다.여기서 각 파일이 어떤 역할을 하며 어떤 내용을 입력하는지 알아두는 것이 좋다.DemoApplication.java추후 이름을 바꿀 예정이지만, 서버 실행 시 가장 먼저 실행되는 클래스이다.application.properties웹에 필요한 환경 설정 정보를 입력하는 파일이다. key=value 형식으로 작성하며, 포트 번호, 접두어(prefix), DB 설정 등 다양한 서버 정보를 포함할 수 있다.build.gradle필요한 라이브러리 의존성(dependency)을 입력하는 곳이다. 꼭 ..

BackEnd/Spring Boot 2023.04.15

Spring Boot 서버 구축[1]

🌱 Spring Boot 프로젝트 생성 (VS Code 기준)사람마다 사용하는 툴, 버전, OS에 따라 프로젝트 구성 방법이 다릅니다.본 문서는 다음 환경을 기반으로 프로젝트를 생성합니다.🛠️ 프로젝트 구성 환경항목값ToolVisual Studio CodeSpring Boot Version2.3.1.RELEASEDBMySQLBuild ToolGradleJava Version1.8.0_251OSWindows✅ 프로젝트 시작 전 필수 설치 항목Visual Studio CodeMySQLJava 1.8.0_2511. 🔧 VS Code 기본 세팅🔌 필수 확장팩 Java Extension Pack Spring Boot Extension Pack (Pivotal)참고: https://parkdream.tist..

BackEnd/Spring Boot 2023.04.15