분류 전체보기 130

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..