Spring
Spring boot & Redis Cache 서버 구축하기
Spring boot & Redis Cache 서버 구축하기
2020.12.24백엔드에서 캐시서버란... 백엔드 서버에서 캐시 서버를 둔다는 것은 가용성적인 측면에서 접근할 수 있다. 쉽게이야기하면, DB서버에서 쿼리를 한번이라도 더 쿼리를 덜 보낼수 있게된다. DB에 쿼리를 줄이는 방법을 통해서 실제 서버의 가용성을 높일수 있다. 캐시서버에 대한 개념보다는 이번에는 구축하는 방법에 대해서 알아보도록 하자 SpringBoot 레디스 서버 구축 참고 링크 https://deveric.tistory.com/98 : 프로젝트 Spring boot에서 Redis Cache 사용하기 모든 소스코드는 아래 github에서 더 편하게 보실 수 있습니다. https://github.com/yyy9942/redis-cache-exam yyy9942/redis-cache-exam Contribute..
Spring security authorizationGrantType cannot be null 해결 방법
Spring security authorizationGrantType cannot be null 해결 방법
2020.10.13Spring boot에서 Oauth 설정 값을 처리할때 스프링 부트에서 application.properties나 yaml를 통해서 쉽게 Oauth에 관련된 여러가지 설정들을 적용할 수 있다. 물론 버젼별로 Oauth를 적용하는 방식이 좀 다르긴 하다. security: oauth2: client: registration: microsoft: client-id: - client-secret: - redirect-uri-template: '{baseUrl}/login/oauth2/code/{registrationId}' Spring Boot 1.5 버젼에서는 이런식이다. 하지만, 2.0 버젼으로 넘어오면서 여러가지 포멧이 많이 줄었는데 security: oauth2: client: registration:..
Spring Security를 통한 외부 Oauth2.0 Redirect URI와 로그인 URI이 만들어지는 방식
Spring Security를 통한 외부 Oauth2.0 Redirect URI와 로그인 URI이 만들어지는 방식
2020.09.10도대체 Redirect URI랑 로그인 URI는 어케 만들어지나... 최근에 소셜로그인을 JWT 방식으로 전환을 하면서 한가지 궁금한 점이 있었다. 그게 뭐냐하면, 도대체 Redirect URI랑 로그인 URI는 Controller도 없이 알아서 다 만들어주는데 그걸 도대체 어디서 확인할 수 있느냐 이런 문제였다. 어차피 URI 생성과 같은 문제는 Controller에서 처리하는 문제인데, Spring Security는 그런 것도 없이 URI를 생성해주곤 하니 그 발생 진원지가 궁금했다. 어떻게 만들어지는 질 알아야지 제가 Debug를 할질 알아서 궁금해서 찾아보기 시작했다. 그전에 미리 알고 가야할 것들이 있다. 간단하게 Spring Security에서 Oauth2.0을 어떤식으로 처리하는지에 대해서 ..
Spring Data JPA에서 Query를 사용하는 방법
Spring Data JPA에서 Query를 사용하는 방법
2020.09.06쿼리를 자동 생성해준다고? Spring boot를 통해서 개발을 하게 된다면, DB에 데이터를 삽입, 읽기 등 여러 가지 작동을 하기 위해서는 방식이 필요하다. 쿼리를 작동시키는 방식에는 여러 가지 방식이 존재한다. 실제로 현재 Spring Data JPA를 사용하면 꽤 편리한점이 있기 때문에, 그 점을 잘 이용하기 위해서는 결국에는 Query를 "자동 생성할 수 있는 포인트를 아는 것이 좋다." 하지만 하나 짚고 넘어가야 할 점 김영한님의 JPA강좌에서는 다음과 같이 주의점을 준다. 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술입니다. 따라서 JPA를 먼저 학습한 후에 스프링 데이터 JPA를 학습해야 합니다. JPA를 좀 더 구체적으로 배운 뒤에 Spring Data JPA를 사용하..
Spring Boot Security로 카카오 소셜 로그인 만들기
Spring Boot Security로 카카오 소셜 로그인 만들기
2020.08.21참고 할점.... 이번 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스의 소셜로그인 파트를 참조하여 만들었습니다. 즉, 이 책을 기반으로 코드를 추가한 것이기 때문에 자세한 코드는 책을 통해서 확인 해보시는 것을 추천드립니다. 이동욱님의 강좌인 스프링부트를 활용한 소셜로그인 파트를 확인했을때는 구글과 네이버의 소셜 로그인이 예제로 나와있다. 하지만, 카카오는 없어서 한번 동일한 구성으로 카카오를 만들 수 있는지 궁금해서 만들어보았다. 카카오 소셜로그인 추가하기 기존 구성과 카카오는 조금의 다른 구성을 가지고 있다. 일단 카카오 소셜로그인을 위해서 카카오 디벨로퍼로 가야한다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기,..
Spring Boot에서 XML을 추가하는 경우 발생하는 문제점과 해결방안
Spring Boot에서 XML을 추가하는 경우 발생하는 문제점과 해결방안
2020.03.07어떤식으로 문제가 발생하게 되었나? 현재 버스 앱을 만들고 있었습니다. 그래서 공공데이터 포탈에서 필요한 데이터를 뽑아서 가져와서 변환하는 프로그램을 만들었는데요. 문제는 공공 데이터 포탈에서 가져오는 데이터는 Json으로 데이터를 받아오면 데이터를 처리하는 데 있어서 여러가지 조건 사항들을 한번에 처리해주기가 너무 까다로워, 아예 저는 XML으로 파싱하는 것이 더 쉽다고 판단하고 그 데이터를 XML으로 받아서 파싱하는 방식으로 처리합니다. 이런 XML을 파싱하는 데이터를 빈에 올려서 파싱하는 함수를 따로 만들었지만 이상한 부분에서 문제가 발생합니다. 완전 이상한 문제 로컬환경 intellJ를 통해서 Run하는 경우는 문제없이 잘 작동하는 코드가, BootJAR 혹은 Install을 통해서 패키징되어 파..
Spring Boot와 React를 연동하여 개발환경을 만들어보자
Spring Boot와 React를 연동하여 개발환경을 만들어보자
2020.03.02이글을 읽어보기전에!! 한번 고려해볼 점을 제가 적어뒀습니다 한번 참고 해보고 프로젝트를 진행해주세요! [Java/Spring] - Spring Boot와 React를 통한 개발환경을 구성할때 고민해볼점 Spring Boot와 React를 통한 개발환경을 구성할때 고민해볼점 [Java/Spring] - Spring Boot와 React를 연동하여 개발환경을 만들어보자 Spring Boot와 React를 연동하여 개발환경을 만들어보자 이번에는 Spring Boot와 React를 연동하여 개발 환경을 만드는 과정을 이야기해보 sundries-in-myidea.tistory.com 이번에는 Spring Boot와 React를 연동하여 개발 환경을 만드는 과정을 이야기해보겠습니다. Spring Boot와 Rea..
[Spring boot] 공공데이터 포털 service key is not registered error 해결 방안
[Spring boot] 공공데이터 포털 service key is not registered error 해결 방안
2020.02.11최근 공공데이터 포털에서 Bus앱을 만들기위해서 API키값을 불러와야하는 상황이 있었다 . 현재 개발중인 프로젝트 Spring boot로 계속적으로 API를 읽고 Parsing하기에 편한 내부 함수를 RestTemplate를 활용해서 그 Json값을 바로 파싱 받으려했었다. 문제는 service key is not registered error 가 지속적으로 발생했다는 점이다. 나는 이 오류가 도대체 왜? 발생하는지 정확한 이유를 알 수가 없어서, 분명히 String값에서 바뀔리는 없다고 문제점을 엄한 곳에서 찾기 시작했는데... 일단 문제를 재대로 파악해보자 실제로 Data.or.kr를 가서 확인해보면 대부분 Q&A 관련 사이트나 혹은 service key is not registered error라는..
Spring 공부 정리 -3. 의존성 주입(2)
Spring 공부 정리 -3. 의존성 주입(2)
2019.07.25의존 객체 자동주입 이전의 방법은 은근히 골치가 아픈게 직접 넣어줘야하는 귀찮음이 존재합니다. 나 를 직접 일일히 쳐줘야하는데, 굳이 그런 방법을 취하는 것이 아닌, Spring이 자동으로 알아서 넣는 방식을 사용하는 것이죠. 그럼 어떤 방식으로 자동 주입을 할까요? @Annotation기능을 통해서 자동으로 주입하는 방식을 취합니다. 두가지 방식으로 넣을 수 있는데, @Autowired와 @Resource을 넣는 방식으로 작동합니다. @Autowired 주입하려는 객체의 타입이 일치하는지를 보고 객체를 자동 주입합니다. 사용할 수 있는 것은 생성자, 메소드, 변수를 통해서 객체 타입이 일치하는지를 보고 집어 넣을 수 있습니다. 이런식으로 constructor태그가 없더라도, @Autowired만 있으면..
Spring 공부 정리 -2. 의존성 주입(1)
Spring 공부 정리 -2. 의존성 주입(1)
2019.07.25의존성 주입의 경우 DI(Dependency Injection)라고도 부르고, 꼭 Spring에 국한되어서 적용되는 것은 아님. Java계열의 언어들이나 사용값에 대해서 다 적용된다고 합니다. (Java, JSP, android) 자바의 경우 한객체에서 다른 객체를 받아오는 방식으로 변수형식으로 받지 않고, 생성자에 의해서 넣는 방식으로 들어가게된다면, 객체를 직접 만드는 방식이 아닌 만들어진 객체를 넣어서 사용하는 방식으로 작동한다. Spring은 스프링 설정 파일에 의해서 스프링 컨테이너에 의해서 bean이란 객체를 만들어서 직접 이 객체를 필요하는 곳에 자동으로 넣어주는 방식을 취합니다. 혹은 Spring의 bean은 큰 객체안에 작은 객체를 넣어서 큰 Bean을 만드는 방식으로 작용할 수 도 있습..
Spring 공부 정리 -1. 프로젝트 생성과 특징
Spring 공부 정리 -1. 프로젝트 생성과 특징
2019.07.24Spring을 공부하는 이유는 정말 간단한데, web app개발을 위해서는 Spring이 필요하기때문이다. (심지어 베이스 언어가 내가 쓰는 자바야 ㅎㄷㄷ) 그래서 Spring을 이용해서 web 앱을 개발하기위해서 Spring Framework를 배우고 있고, 인강을 들으면서 정리한 내용을 여기다 고대로 적는중이다. 그럼 시작. Spring은 대부분 Maven을 통해서 프로젝트를 만들어가는데 여기서 Maven: Build Tool을 뜻한다. 빌드에 도움을 주는 모든 과정을 maven이 대신 해준다고 생각하면된다. 그래서 프로젝트 생성시에도 maven을 통해서 생성해야한다. 만들 경우 group id와 artifact id가 필요한데 group id의 경우-> 전체 프로젝트를 뜻하고, artifact id..