memostack
article thumbnail
Spring Boot에서 AOP 구현 (Aspect Oriented Programming)
Backend/Spring Boot 2021. 3. 11. 11:34

AOP 구현 AOP 개념은 아래 글 참고 2021.03.11 - [Spring] - Spring의 AOP 개념 (Aspect Oriented Programming) Spring의 AOP (Aspect Oriented Programming) AOP AOP는 Aspect Oriented Programming 의 약자로, 번역하면 관점 지향 프로그래밍이다. AOP는 주 비지니스 로직 앞, 뒤로 부가적인 기능을 추가하고 싶을때 사용하는데 예를들어, 로그처리, 보안처리, DB memostack.tistory.com 의존성 추가 org.springframework.boot spring-boot-starter-aop 서비스(비즈니스 로직) 구현 테스트를 위한 비즈니스 로직을 구현 AOP 구현에 집중하기 위해, 단순히..

article thumbnail
Spring Boot 에서 JWT 적용 (Maven 환경)
Backend/Spring Boot 2021. 1. 21. 23:03

dependency 추가 mvnrepository.com/artifact/io.jsonwebtoken/jjwt/0.9.1 ... io.jsonwebtoken jjwt 0.9.1 ... JWT 토큰 생성하기 JwtManager라는 Bean을 생성한다. 공통으로 쓸것이기 때문에 IoC에 담아두고 써도 무관 import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.stereotype.Component; import java.util.Date; import java.util.HashMap; import java.util.Map; @Component public class JwtManager {..

article thumbnail
Spring Boot, JPA에서 boolean 처리 (@Converter, @Convert 사용)
Backend/Spring Boot 2021. 1. 5. 15:39

엔티티에서는 java의 boolean을 사용하고, Database에서는 Y 또는 N으로 처리하고 싶을때, @Converter 어노테이션을 사용하여 해결할 수 있다. 컨버터 객체 생성 BooleanToYNConverter.java @Converter public class BooleanToYNConverter implements AttributeConverter { /** * Boolean 값을 Y 또는 N 으로 컨버트 * * @param attribute boolean 값 * @return String true 인 경우 Y 또는 false 인 경우 N */ @Override public String convertToDatabaseColumn(Boolean attribute) { return (attrib..

article thumbnail
Spring Security + JPA + MySQL + Mustache 를 이용한 로그인 구현
Backend/Spring Boot 2020. 12. 3. 15:49

목표 간단한 로그인 기능을 구현 Spring Security 를 사용 JPA와 MySQL을 사용 Mustache 템플릿 엔진 사용 MySQL 설치 MySQL 설치는 본 글에서는 다루지 않는다. 아래글 참고 2020/10/30 - [Database/RDB] - MySQL 설치하기 (Mac OSX) MySQL 설치하기 (Mac OSX) MySQL 설치 본 글에서는 Homebrew 를 이용하여 MySQL 을 설치한다. $ brew update $ brew install mysql 만약, 특정 버전을 따로 설치하고 싶다면 아래 명령어를 수행한다. 그리고, 원하는 버전의 mysql을 설치한.. memostack.tistory.com Spring Project 생성 start.spring.io/에서 메이븐 프로젝트..

article thumbnail
JPA 오류 해결 - Unable to locate Attribute with the the given name [Column]
Backend/Spring Boot 2020. 11. 14. 23:21

UserRepository.java 아래 메소드에서 계속 문제가 발생했다. @Repository public interface UserRepository extends JpaRepository { Optional findFirstByPhoneNumberOrderByIdDesc(String phoneNumber); } 에러 내용 java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.example.study.repository.UserRepository.findFirstByPhoneNumberOrderByIdDesc(java.lang.String)! Unable to ..

article thumbnail
Spring Boot 와 MySQL & JPA 연동하기 (Gradle 프로젝트)
Backend/Spring Boot 2020. 11. 11. 21:12

MySQL 설치 설치는 아래 글 참고 2020/10/30 - [Database/RDB] - MySQL 설치하기 (Mac OSX) MySQL 설치하기 (Mac OSX) MySQL 설치 본 글에서는 Homebrew 를 이용하여 MySQL 을 설치한다. $ brew update $ brew install mysql 만약, 특정 버전을 따로 설치하고 싶다면 아래 명령어를 수행한다. 그리고, 원하는 버전의 mysql을 설치한.. memostack.tistory.com 스키마 & 테이블 생성 유저 생성 및 권한 부여 CREATE USER test_user@localhost IDENTIFIED BY '1234'; GRANT ALL PRIVILEGES ON STUDY_DB.* TO test_user@localhost;..

article thumbnail
Spring Boot 롬복(Lombok) 적용 / Gradle과 IntelliJ 사용
Backend/Spring Boot 2020. 3. 7. 23:47

메이븐 프로젝트에 적용하는 방법은 아래 글 참고 2020/10/31 - [Spring/Spring Boot] - Spring Boot, Maven 프로젝트에 롬복 적용하기 Spring Boot, Maven 프로젝트에 롬복 적용하기 Gradle 프로젝트에 롬복 적용하는 방법은 아래 글 참고 2020/03/07 - [Spring/Spring Boot] - Spring Boot 롬복(Lombok) 적용 / Gradle과 IntelliJ 사용 Spring Boot 롬복(Lombok) 적용 / Gradle과 IntelliJ 사용.. memostack.tistory.com 롬복(Lombok) 이란? 롬복(lombok)을 이용하면 getter, setter, constructor 를 매번 생성할 필요가 없다. 롬복은..

article thumbnail
Gradle 환경에서 Spring Boot 에 Swagger 2 적용하기
Backend/Spring Boot 2020. 3. 7. 18:41

1. Dependency 적용 build.gradle에 swagger2 를 추가한다. (https://mvnrepository.com/artifact/io.springfox/springfox-swagger2/2.9.2) dependencies { ... // Swagger 2 compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' ... } 웹 UI 화면을 보려면, springfox-swagger-ui 를 추가해야 한다. 2. Swagger2 Enable @EnableSwagger2 어노..

article thumbnail
Spring Boot 프로젝트 생성하기
Backend/Spring Boot 2020. 2. 18. 22:26

스프링 부트 프로젝트 생성 스프링 부트 프로젝트를 생성 할 수 있게 도와주는 사이트가 있다. (https://start.spring.io) 위와 같이 원하는 Version, Metadata, Dependency 를 정하여 프로젝트를 구성한다. Generate 버튼을 통해 만들어진 프로젝트를 다운로드 받는다. Spring Boot 실행 간단한 API 를 생성하여 화면에 띄어보고, Spring Boot 를 실행해본다. 의존성 설정 pom.xml spring-boot-starter-web 아티팩트(Artifact)를 추가한다. ... org.springframework.boot spring-boot-starter-web ... API 생성 TestController.java package com.example..

article thumbnail
Spring Boot에 Swagger2 (스웨거) 적용하기 (Maven)
Backend/Spring Boot 2020. 2. 18. 22:08

환경 운영체제: Mac OS Spring Boot 버전: 2.2.4.RELEASE Maven 버전: 4.0.0 Swagger 란? 스웨거(Swagger)는 REST API 문서를 자동으로 생성해주는 오픈소스 프레임워크다. 자동으로 프로젝트의 코드를 읽고 API 문서를 생성해주기 때문에, API 스펙(Spec)이 바뀌어 API 문서들을 다시 수정하는 번거로움이 없다. (매번 문서 작성하고... 수정하고... 리소스가 많이 들어가는 일이다. 이건 정말 좋은듯) 또한 스웨거가 제공해주는 UI 에서 실제로 REST API 를 던저보고 응답을 받을 수 있기 때문에 테스트도 할 수 있다. Swagger2 적용하기 Swagger에도 버전이 존재하는데, 본 글에서는 Swagger2를 이용한다. 프로젝트 생성하기 202..