Spring Framework
-
앵귤러, 스프링부트를 이용한 Oauth2 회원가입 문제Spring Framework 2021. 6. 23. 23:44
1. 개발환경 프론트앤드 - 앵귤러2, 타입스크립트 백엔드 - 스프링부트 DB - JPA, MySQL 2. 카카오 API를 활용한 Oauth2 회원가입 과정 카카오 API를 활용한 Oauth2 회원가입은 사실 간단합니다. 인가(인증) 코드 request/resposne 발급된 인가 코드로 Access Token request/response Token에서 사용자 정보 추출 후 회원가입 Token 유효성 검증 --> 사용자 정보 추출 --> DB 검증 (로그인 시) 결국 REST API를 바탕으로 요청하고 받고, 반복입니다. 3. 문제점 카카오 Oauth2의 경우 인가(인증) 코드의 경우 발급 후 반드시 'redirect uri'를 입력해야 합니다. 인가 코드를 받을 클라이언트 혹은 서버가 반드시 존재해야..
-
하이버네이트의 네이밍 전략Spring Framework 2021. 4. 29. 22:29
1. 서론 스프링에서 하이버네이트 사용을 위해 Entity 파일의 필드이름을 자연스럽게 camelCase로 작성했습니다. private String userName 하지만 에러가 발생했습니다. user_name을 찾을 수 없습니다. 저는 분명히 'userName'이라고 입력했는데, 어떻게 된 일 일까요? 2. 하이버네이트 네이밍 규칙 하이버네이트의 기본적으로 적용되어 있는 규칙은 아래와 같습니다 dot(.)은 underscore(_)로 대체합니다 camelCase는 snake_case로 변합니다 소문자로 작성합니다 즉 프로그래머가 필드에서 'userName'이라고 작성하더라도, 하이버네이트는 자동으로 'user_name'으로 변경합니다. snake_case, 소문자 모두 만족하는 네이밍 전략입니다. 3...
-
[Spring Framework]스프링 커맨드 객체Spring Framework 2021. 1. 1. 11:37
이 글에서는 Spring MVC의 View 페이지에서 서버로 데이터를 넘기고, 받는 방법에 대해서 알아보려고 합니다. 대표적으로 로그인, 회원가입할 때 사용자가 입력한 정보를 가지고 와서, DTO에 저장을 하는 것들이 있는데요. @RequestParam 방식 view.jsp @RequestParam을 사용한 Controller 보통 스프링 기초 책에서 자주 보이고, 보편적으로 많이 사용하는 방식 입니다. 여기서 주의해서 봐야 할 점은 Controller의 View에서 요청한 파라미터(parameter)를 받는 방식 입니다. @RequestParam 애노테이션을 사용해서 매개변수로서 받아오고 있습니다. 그리고 이 매개변수를 서비스 인터페이스에 넣어, DB와 동작을 하고 있습니다. 제가 생각하는 장점은 요청..
-
서블릿이란?Spring Framework 2020. 9. 15. 17:49
1. 서론 안녕하세요. 오늘은 서블릿에 대해서 작성해보려고 합니다. 처음 JSP, 서블릿으로 간단한 웹 구성을 공부할 때는 서블릿에 대해서 깊게 공부하지 않았습니다. 하지만 이 서블릿이라는 것은 스프링 프레임워크를 사용해서 MVC 모델을 구성할 때도 나오게 되면서, 계속 괴롭히는데요. 즉 웹 백엔드 개발자로서 반드시 알아야 하는 것이라고 생각합니다. 그래서 오늘은 서블릿에 대해서 작성하려고 합니다. 하지만 이 글은 웹 서버가 어떻게 동작하는지, 서블릿 컨테이너가 무엇인지 설명하는 글은 아닙니다. 서블릿이라는 기술 자체에 대해서 집중해보려고 합니다. 웹 서버의 동작, 서블릿 컨테이너에 대해서 궁금하신 분은 아래의 글을 참고해주세요. [Java/Java 이론] - 웹 서버란? 2. Servlet? 일단 먼저..
-
[Spring Framework] IoC container / ScopeSpring Framework 2020. 7. 27. 15:43
오늘은 스프링 프레임워크의 핵심인 IoC container에 대해서 공부하려고 합니다. 1. IoC container IoC container는 IoC, 즉 Inversion of Control(제어의 역전)을 가능하게 해주는 컨테이너 입니다. 이 컨테이너는 빈이 생성될 때 의존성을 주입하고, 빈들의 인스턴스화를 해주는 빈을 관리하는 컨테이너 입니다. 하지만 스프링 API를 보시면 IoC Container가 어떤 클래스나 인터페이스로 존재하는 것이 아닙니다. 즉 IoC를 가능하게 해주는 컨테이너라는 패턴 혹은 프로그래밍 기법이라고 생각하시면 됩니다. 그렇다면 실질적으로 스프링 프레임워크는 어떤 인터페이스나 클래스를 정의해서 빈들을 관리하고 있을까요? 2. BeanFactory interface 스프링 프..
-
웹 서버란?Spring Framework 2020. 7. 4. 17:50
1. 웹이 동작하는 방법 굉장히 귀여운 그림이 위에 있죠? 왠 졸라맨 같은 사람이 클릭을 하니, 사용하는 브라우저에서 Web Server로 HTTP Request(요청) 전송을 합니다. 이때 Web Server는 해당하는 HTTP Response(응답)를 다시 보내주는데요. 쉽게 이야기해서 브라우저와 대화를 하는 것입니다. 브라우저가 뭔가 요청했으니, Web Server는 대답을 하는 것입니다. 여기서 HTTP는 인터넷 환경에서 데이터를 주고받을 수 있는 통신 규약인데요. 이러한 통신 규약을 바탕으로 요청(Request), 응답(Response)을 통일된 형식으로 보내게 됩니다. 즉 여러분들이 인터넷에서 클릭을 하고 어떠한 동작을 한다는 것은, 서버에 정보를 요청하는 행위입니다. 그리고 서버는 여러분들이..