▼ Backend/스프링 (Spring)
-
Spring Boot | jasypt를 사용하여 프로퍼티 암호화 하기▼ Backend/스프링 (Spring) 2022. 2. 24. 13:26
jasypt란 개발자가 암호화 작동 방식에 대한 깊은 지식 없이도 최소한의 노력으로 프로젝트에 기본 암호화 기능을 추가할 수 있도록 하는 Java 라이브러리이다. 주로 프로젝트가 공개되어도 프로퍼티 내에 작성된 설정 정보를 암호화하여 노출시키지 않는 목적으로 사용한다. 📌 Dependency 추가 Maven com.github.ulisesbocchio jasypt-spring-boot-starter 3.0.4 Gradle implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.4' Jasypt 설정 및 Bean 등록 코드를 보면 KEY를 상수로 작성하였지만 실제로 운영 시에는 보안을 위해 운영체제 환경설정으로 등록하거나 java -..
-
Spring Boot | RESTful API 호출시 Cross Origin Requests Sharing (CORS)▼ Backend/스프링 (Spring) 2021. 11. 19. 14:50
▶ Cross Origin Requests Sharing (CORS) 개발 중 프론트단에서 RESTful API 호출시 교차 출처 요청 차단, 동일 출처 정책으로 인해 http://localhost:port/~ 에 있는 원격 리소스를 차단하였습니다. (원인: ‘Access-Control-Allow-Origin’ CORS 헤더가 없음) 발생. CORS는 서로 다른 출처(Origin) 간에 리소스를 전달하는 방식을 제어하는 체제이다. 보안 상의 이유로, 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한하기 때문에 발생한다. CORS 요청이 가능하려면 서버에서 특정 헤더인 Access-Control-Allow-Origin과 함께 응답할 필요가 있다. 📌스프링에서는 아래와 같은 방법으로 CROS를 ..
-
Spring Boot | 로그인 구현하기 (Spring Security)▼ Backend/스프링 (Spring) 2021. 11. 17. 16:04
[스프링 부트 (Spring Boot)/게시판 만들기] - 1 | 스프링 부트 프로젝트 만들기 위의 과정을 통해 생성된 프로젝트입니다. 구성환경 SpringBoot, Gradle, Thymeleaf, Jpa(JPQL), Jar, MariaDB 이번 장에서는 스프링 시큐리티(Spring Security)를 이용한 로그인 처리, 로그아웃, 중복 로그인 처리, 로그인 정보 유지, 예외처리 등을 적용해본다. 회원 테이블 생성하기 로그인 처리 테스트를 하기 위한 기본적인 컬럼만 생성하였으니 필요시 추가하여 사용한다. CREATE TABLE `member` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '시퀀스', `email` VARCHAR(200) NOT NULL CO..
-
SpringBoot | JPA, @Query를 이용하여 쿼리 작성하기▼ Backend/스프링 (Spring) 2021. 10. 25. 10:48
▶ @Query, JPQL JPQL(Java Persistence Query Language)는 JPA (Java Persistence API)의 일부로 정의된 플랫폼 독립적인 객체지향 쿼리 언어이다. JPA에서 기본적으로 제공하는 메서드 외에 직접 쿼리를 작성할 경우에 주로 사용한다. import import org.springframework.transaction.annotation.Transactional; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Para..
-
Spring Boot | JPA Error, Null return value from advice does not match primitive return▼ Backend/스프링 (Spring) 2021. 10. 14. 17:52
Null return value from advice does not match primitive return type for: public abstract int @Query를 통해 데이터에 변경이 일어나는 삽입('INSERT'), 수정('UPDATE'), 삭제('DELETE') 쿼리 메서드를 사용할 때 @Modifying 어노테이션이 추가되어있는지 확인한다. import org.springframework.data.jpa.repository.Modifying; @Modifying
-
Spring Boot | JPA Error, Executing an update/delete query▼ Backend/스프링 (Spring) 2021. 10. 14. 17:45
Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query UPDATE, DELETE를 사용할 경우 @Transactional 어노테이션을 추가해야 한다. import org.springframework.transaction.annotation.Transactional; @Transactional
-
Spring Boot | Gradle, Jar 빌드&배포하기▼ Backend/스프링 (Spring) 2021. 10. 8. 12:35
🌈 이클립스 IDE 바탕으로 작성되었습니다. Run Configruations 프로젝트 우 클릭 → Run As → Run Configurations Gradle Task 우 클릭 → New Configuration ① 프로젝트를 선택한다. ② Task를 추가하여 bootJar를 입력한다. ③ Apply(적용) ④ Run(Run Build) Gradle Executions 탭에서 Build의 Operation 확인이 가능하다. Build(빌드)가 끝나면 ~프로젝트 경로/build/libs에 jar 파일이 생성된다. CMD(명령 프롬프트)를 실행시켜 프로젝트 경로로 이동한 뒤 jar파일을 실행한다. *당연히 자바가 설치되어있어야 한다. # jar가 있는 경로로 이동 cd C:\eGovFrameDev-3.9..
-
SpringBoot | lombok cannot find symbol (getter, setter)▼ Backend/스프링 (Spring) 2021. 8. 23. 12:20
▶ 1. 이클립스 자체에서 발생 Spring Boot | lombok 사용 시 Getter, Setter Undefined ▶ 이클립스 lombok 사용 시 Getter, Setter 못 찾는 문제 Maven 혹은 Gradle에 lombok 의존성 추가 후 @Data, @Getter, @Setter 등 어노테이션을 사용하여 Value Object를 만들어 사용하려는데 못 찾는 문제가 발.. kitty-geno.tistory.com ▶ 2. 컴파일 시, 프로젝트 빌드 중 발생 Gradle annotationProcessor 추가 dependencies { //lombok implementation 'org.projectlombok:lombok' annotationProcessor 'org.projectlo..