전체 글 127

spring security config 설정할 때 WebSecurityConfigurerAdapter 가 Deprecated 된다. 해결법

출처 - https://devlog-wjdrbs96.tistory.com/434 WebSecurityConfigurerAdapter Deprecated 해결하기 최근에 Spring Security를 설정해보려고 WebSecurityConfigurerAdapter를 사용하려 보니 Deprecated가 되어 있었는데요. @RequiredArgsConstructor @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { private final ObjectMapper objectMapper; private final JwtAuthenticationFilter jwtAuthenticationFilter; @O..

JPA 기초지식

출처 - [Spring/JPA] JPA 기초지식 (tistory.com) 위 글은 김성렬 교수님의 KOCW강의를 보고 작성한 글로 자세한 내용은 해당 강의를 통해 확인하시길 권장합니다. http://www.kocw.net/home/cview.do?cid=5e6aec4a9ae2dd45 스프링과 JPA를 이용한 웹개발 본 강의는 JPA와 스프링프레임워크를 이용한 웹 개발 방법을 설명하고 있습니다. www.kocw.net Persistence.xml a box holding all the needed information for creating an EntityManagerFactory instance JPA 설정을 구별하는 구별자 일반적으로 연결한 데이터베이스당 하나의 영속성 유닛을 등록 실제 개발에서는 여..

Jackson으로 발생한 순환 참조 문제 해결(JPA Entity)

N:N 관계에서 직렬화를 하면 순환참조 하여 무한으로 getter가 호출되는 문제다. 해결책 일반적으로 @JsonIgnore를 이용해 해당 필드의 직렬화를 막거나, @JsonManagedReference - @JsonBackReference 쌍을 이용해 단방향으로만 직렬화가 가능하게 한다. 하지만 순환참조 없이 양뱡항 직렬화가 필요한 경우 @JsonIgnoreProperties을 사용한다. @JsonIgnoreProperties을 사용하면 직렬화 대상 필드에게 직렬화하지 않을 필드를 지정해 줄 수 있다. 예시 @RestController에서 Board를 조회하여 반환하면 Board 안의 Reply를 호출하고 또 Reply 안에 있는 Board가 호출 되고 이 과정이 무한적으로 반복 되는 순환참조가 발생한..

[Spring]RestTemplate과 HttpEntity (제네릭과ParameterizedTypeReference)

출처 : [Spring]RestTemplate과 HttpEntity가 뭐길래(제네릭과 ParameterizedTypeReference) - 야망찬 개발자의 블로그 (sowon-dev.github.io) [Spring]RestTemplate과 HttpEntity가 뭐길래(제네릭과 ParameterizedTypeReference) 프로젝트를 하다보면 화면이 아닌 서비스단에서 외부 API와 호출해야할 일들이 생긴다.이때 주로 사용되는 것이 RestTemplate이다. sowon-dev.github.io 프로젝트를 하다보면 화면이 아닌 서비스단에서 외부 API와 호출해야할 일들이 생긴다. 이때 주로 사용되는 것이 RestTemplate이다. 이번 프로젝트에서 백엔드 업무를 도맡았다. 첫 작업으로 맡게 된 건 외..

프로퍼티 파일(yml) 여러개 설정하기

출처 : [Spring Boot] 프로퍼티 파일(yml) 여러개 설정하기 (jiniworld.me) [Spring Boot] 프로퍼티 파일(yml) 여러개 설정하기 웹 애플리케이션의 실행 환경에 따른 구성설정의 외부화를 위해 프로퍼티 파일을 사용했습니다. spring boot에는 예약된 프로퍼티 키가 존재하며, 예약된 프로퍼티에 설정을 추가하는 것 만으로도 blog.jiniworld.me 선 결론 spring Boot 2.4 미만버전이라면 OS환경별로 다른 구성파일을 설정하고 싶다면 3.1 방법을 사용하면 되고, 웹 애플리케이션 시작시 커맨드 라인 인자값을 각기 다르게 설정하여 다양한 테스트를 하고 싶다면 3.2 방법을 사용하면 됩니다. 환경에 상관없이 고정적으로 여러개의 구성파일을 설정하고 싶다면 3...

jsp에서 yml, properties 파일 가져오기

출처 : Jsp에서 yml, properties 사용하기 (tistory.com) jsp에서 springboot에서 사용하는 설정파일 (application.yml, application.properties)의 값을 바로 가지고 올 수 있다. application.properties (or application.yml) 파일은 다음과 같이 정의가 되어 있는 상황이다. oing.daddy=cool guy 이 값을 jsp에서 바로 가지고 와서 사용하고 싶다. 가지고 오는 방법은 다음과 같다. 1. @environment.getProperty 를 통해 가져오는 방법 ${oingDaddy} 위와 같이 spring tag를 선언해주고 spring:eval 을 통해서 값을 가지고 올 수 있다. @environmen..

OAuth2.0

배경 개인 프로젝트에 OAuth 로그인 기능을 넣으려고 하는데, 먼저 OAuth의 개념을 확실히 하기 위해서 정리하였습니다. 본론 oauth란 다른 웹사이트에 자신의 정보에 대한 접근권한을 부여할 수 방법입니다. 예를 들면 특정 사이트에서 로그인을 할 때 네이버의 접근권한을 받아 인증을 하게 되는데 이 때 사용하는 인증절차를 oauth라고 합니다. 동작방식은 우선 자원을 제공하는 사이트에 클라이언트 즉 우리 어플리케이션주소와 redirect url을 등록하고cleint_id, cleint_secret를 발급받습니다. oauth 로그인을 할 때 먼저 cleint_id, scope, redirect_uri을 인자값으로 해서 자원을 제공하는 사이트의 리소스 서버로 요청을 합니다. 그러면 redirect url..

kakao developers - 로그인

1. kakao developers - 로그인 - 내 어플리케이션 - 어플리케이션 추가 2. 어플리케이션 접속 - 환경에 맞게 key 사용 ( Rest API Key 사용할 것.. 클라이언트 키 역할) 3. 접속한 어플리케이션 - 플랫폼 설정하기 - web 플랫폼 등록 └ 도메인을 따로 구매하지 않았고 테스트 용도인 경우 : http://localhost:8000 4. 접속한 어플리케이션 - 카카오 로그인(왼쪽메뉴) - 활성화 설정 : 상태 ON - Redirect URI ( 로그인이 정상적으로 되고 카카오로부터 응답 받을 주소) : http://localhost:8000/auth/kakao/callback - Logout Redirect URI : http://localhost:8000/auth/kak..

Springboot + JSP 프로젝트 jar로 배포하는 방법

출처 : Springboot + JSP 프로젝트 jar로 배포하는 방법 (tistory.com) Template Engine으로 JSP를 사용한 springboot 프로젝트가 있다. springboot에서 공식으로 지원을 하지 않는 Template Engine이다보니 JSP를 사용할때 여러가지 불편한 점들이 있다. 하지만 SI에서는 쉽게 기술을 휙휙 바꾸기 힘든 점들이 많다. SI는 참 힘들다... Springboot + JSP 프로젝트가 여러개 있고 이것을 각각 띄워서 사용을 할수도 있어야 하고 경우에 따라서는 여러개의 프로젝트가 main project에 dependency 형태로 붙을수도 있어야 한다. dependency 형태로 붙으려면 war가 아닌 jar 형식의 파일로 빌드가 되어야 한다. 이 방..