JWT + OAuth2 로그인 클래스, 메서드 요약정리
·
웹개발/[스프링부트3 백엔드 개발자 되기]
리소스 서버(구글)에서 사용자 정보를 조회(loadUser)하고 users 테이블에 새로 추가or업데이트(saveOrUpdate) OAuth2관련 다양한 설정(스프링 시큐리티 비활성화, 세션 비활성화, 요청 경로 권한, OAuth로그인 관련 설정 등) 주요역할: /users/login 페이지를 통해 OAuth2 로그인을 설정하고,            OAuth2 인증 요청을 쿠키 기반으로 저장하며,           사용자 정보를 를 통해 처리합니다.           또한, 로그인 성공 시 를 통해 추가적인 처리를 수행합니다. OAuth 인증 성공 처리 로그인(인증)이 성공하면 리프레시토큰을 생성하고 db에 저장(SaveRefreshToken), 쿠키에 저장(for 사용자)(addRefreshTok..
[스프링부트3 백엔드 개발자되기] 06장. 블로그 기획 & API 만들기 (1) 글 작성 기능 추가
·
웹개발/[스프링부트3 백엔드 개발자 되기]
Representational State TransferURL 설계방식으로 다양한 장점이 있음.(스프링 같은 프레임워크가 아님! 그저 설계 방식임!)url만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있음.즉 주소와 메서드만 보고 요청의 내용을 파악할 수 있음. 규칙1. url에는 동사를 쓰지 말고 자원을 표시해야 한다.규칙2. 동사는 http 메서드로(POST, GET, PUT, DELETE) @Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class Article { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id..
[스트링부트3 백엔드 개발자 되기] 05장 ORM
·
웹개발/[스프링부트3 백엔드 개발자 되기]
Object Relational Mapping자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법.SQL을 몰라도 자바 언어로만 데이터베이스에 접근할 수 있음. Java Persistence APIORM의 한 종류로 자바에서 표준으로 사용하는 ORM자바 객체와 데이터베이스를 연결해 데이터를 관리함. JPA 인터페이스 구현체이자 자바용 ORM 프레임워크내부적으로는 JDBC API를 사용함 자바의 객체 중 데이터베이스의 테이블과 매핑되는 객체 객체 생성/수정/삭제의 요청이 들어오면 엔티티 매니저 팩토리에서 엔티티 매니저를 생성하고 생성된 엔티티 매니저가 데이터베이스에 연결한 뒤 쿼리한다.그러나 스프링 부트에서는 엔티티매니저를 Spring Data JPA에서 관리하므로 사용자가 생성하거나 관리할 필요는 없다...
[스프링부트3 백엔드 개발자 되기] 스프링부트3와 테스트
·
웹개발/[스프링부트3 백엔드 개발자 되기]
작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드src/test 디렉터리에서 작업함.give - when - then 패턴을 주로 사용함.JUnit과 AssertJ를 가장 많이 사용함 자바 언어를 위한 단위 테스트 프레임워크(단위 테스트: 작성한 코드가 의도대로 작동하는지 작은 단위로 검증하는 것. 이때 단위는 주로 메서드)public class JunitTest { @DisplayName("1+2=3이다") @Test public void junitTest() { int a = 1; int b = 2; int sum = 3; Assertions.assertEquals(sum, a+b) } }위 테스트 코드를 실행하면 a+..
[스프링부트3 백엔드 개발자 되기] 03장 스프링부트3 구조 이해하기
·
웹개발/[스프링부트3 백엔드 개발자 되기]
스프링부트는 각 계층이 양 옆의 계층과 통신하는 구조를 따른다.계층: 각자의 역할과 책임이 있는 어떤 소프트웨어의 구성 요소. 서로 소통할 수 있으나 직접적인 영향을 미치진 않음. 프레젠테이션 계층: HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할. 컨트롤러, TestController비즈니스 계층: 모든 비즈니스 로직(서비스를 만들기 위한 로직)을 처리. 서비스.퍼시스턴스 계층: 모든 데이터베이스 관련 로직을 처리. 리포지터리. 계층은 개념의 영역이고 컨트롤러, 서비스, 리포지터리는 실제 구현을 위한 영역임. main실제 코드를 작성하는 공간. 프로젝트 실행에 필요한 소스 코드나 리소스 파일은 모두 이 폴더 안에 존재.test프로젝트의 소스 코드를 테스트할 목적의 코드나 리소스 파일이 ..
[스프링부트3 백엔드 개발자 되기] 02장 스프링부트3 시작하기
·
웹개발/[스프링부트3 백엔드 개발자 되기]
00장 개발환경 구축하기01장 자바 백엔드 개발자가 알아두면 좋은 지식위 두 장은 내용이 어렵지 않아 생략함. 1. 스프링과 스프링부트의 차이 스프링스프링부트목적엔터프라이즈 애플리케이션 개발을 더 쉽게 만들기스프링의 개발을 더 빠르고 쉽게하기설정파일개발자가 수동으로 구성자동 구성XML일부 파일은 XML로 직접 생성하고 관리사용하지 않음인메모리 데이터베이스 지원지원하지 않음인메모리 데이터베이스 자동 설정 지원서버프로젝트를 띄우는 서버(톰캣 등)를 별도로 수동 설정내장형 서버를 제공해 별도의 설정이 필요하지 않음표1. 스프링과 스프링부트 특징 비교 2. 스프링의 핵심 콘셉트IOCInversion of Control의 줄임말. 제어의 역전.객체의 생성과 관리를 개발자가 하는 것이 아니라 프레임워크가 대신하는 ..
2soon2soon
'웹개발/[스프링부트3 백엔드 개발자 되기]' 카테고리의 글 목록