Server/Spring
-
[Spring Security] JWT(JSON Web Token) 의 코드 구현Server/Spring 2020. 5. 17. 23:58
🐥 깃허브 : 전체 코드 Spring Boot에 Spring Security와 JWT를 사용해 로그인 구현 1. 동작과정 Generating JWT Client : 로그인 요청 POST (id, pw) Server : id, pw가 맞는지 확인 후 맞다면 JWT를 SecretKey로 생성 Client : Server에게 받은 JWT를 로컬 or 세션에 저장 Client : 서버에 요청할 때 항상 헤더에 Token을 포함시킴 Server : 요청을 받을 때마다 SecretKey를 이용해 Token이 유효한지 검증 서버만이 SecretKey를 가지고 있기 때문에 검증 가능 Token이 검증되면 따로 username, pw를 검사하지 않아도 사용자 인증 가능 Server : response 2. Token 유..
-
[Spring Security] JWT(JSON Web Token) 의 모든 것Server/Spring 2020. 5. 10. 19:04
1. 정의 #JSON #Claim_based_Token #Self_contained JSON Web Token의 약자로 클레임 토큰 기반의 방식. 클라이언트의 세션 상태를 저장하는 것이 아닌 필요한 정보를 토큰 body에 저장해 클라이언트에 저장해두고 이를 증명서 처럼 사용한다. Claim based? Claim : 사용자에 대한 프로퍼티 / 속성 토큰 자체가 정보 Self-contained : 자체 포함, 즉 토큰 자체가 정보 key / value 로 이루어짐 2. 구성 {Header}.{Payload}.{Verify Signature} 3가지 정보를 '.'로 연결하여 사용한다. JWT 공식사이트 를 통해 JWT를 생성 및 검증할 수 있다. Header : JWT 토큰의 유형이나 사용된 해시 알고리즘의..
-
[spring boot] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스-1Server/Spring 2020. 5. 3. 23:54
✔ 프로젝트 개발환경** 프로젝트 개발 환경은 다음과 같습니다. IDE : IntelliJ IDEA Ultimate Git Tools : Git Bash OS : Window SpringBoot 2.2.6 Java8 Gradle ✔프로젝트 코드 ( 깃허브 ) 👉👉👉 https://github.com/devAon/SpringBoot-WebService ✔ 프로젝트 코드 및 구현 내용 설명** build.gradle plugins { id 'org.springframework.boot' version '2.2.6.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id '..
-
[spring boot] 연락처 관리 프로젝트 (+TDD)Server/Spring 2020. 4. 26. 21:23
✔ 프로젝트 구조 **✔MVC 패턴 (Model–View–Controller)** **✔프로젝트 전체 코드 ( 깃허브 )** 👉👉👉 https://github.com/devAon/SpringBoot-Manage-Contact ✔ 프로젝트 코드 및 구현 내용 설명 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' implementation 'org.springframework.boot:sp..
-
[spring] TDD (테스트 주도 개발) 방법Server/Spring 2020. 4. 19. 18:14
TDD ? ( Test Driven Development ) 선 테스트코드 작성 후 실제 코드 개발 구현 -> 테스트 -> 리펙토링 Development -목표주도개발 -사용자 중심 개발 -인터페이스 중심 개발 목표? -올바르게 작동 -test -깔끔한 코드 - 이때 refactoring TDD 3가지 cycle Red - 실패 Green - 성공 Refactoring test 코드 리팩터링. TDD 만드는 방법 test파일 만들고싶은 파일에서-goto-test 예시 Controller TDD HelloWorldController.java @RestController public class HelloWorldController { @GetMapping("/api/helloworld") public Str..
-
[Spring] jpa, Hibernate, mybatis 란? 그리고 SQL Mapper와 ORMServer/Spring 2020. 4. 19. 18:12
목차 🍓 1. 계층 🍓 2. SQL Mapper와 ORM 🍓 3. JDBC(Java Database Connectivity) 🍓 4. JPA (Java Persistence API) 🍓 5. Hibernate 🍓 6. Mybatis 1. 계층 - 영속성(Persistence) 계층 참고 프레젠테이션 계층 (Presentation layer) - UI 계층 (UI layer) 이라고도 함 애플리케이션 계층 (Application layer) - 서비스 계층 (Service layer) 이라고도 함 비즈니스 논리 계층 (Business logic layer) - 도메인 계층 (Domain layer) 이라고도 함 데이터 접근 계층 (Data access layer) - 영속 계층 (Persistence la..
-
[Spring] 설정 및 구현 - 생명주기, MVCServer/Spring 2020. 4. 12. 23:47
목차 🍓 1. 빈(Bean) 객체의 생명주기(Life Cycle) 🍓 2. 어노테이션을 이용한 스프링 설정 🍓 3. 웹 프로그래밍 설계 모델 🍓 4. 스프링 MVC 웹서비스 🍓 5. STS를 이용하지 않은 웹 프로젝트 🍓 6. Service & Dao 객체 구현 🍓 7. Controller 객체 구현 🍓 1. 빈(Bean) 객체의 생명주기(Life Cycle) 스프링 컨테이너 생성시점과 빈객체의 생성시점은 동일하다. 🍓 2. 어노테이션을 이용한 스프링 설정 🍓 3. 웹 프로그래밍 설계 모델 13-1 웹프로그래밍을 구축하기 위한설계모델 13-2 스프링MVC플레임워크 설계 구조 13-3 DispatcherServlet 설정 13-4 Controller 객체 -@Controller 13-5 Controller..
-
[Spring] 스프링 프레임워크란? DI 의존주입이란? 의존주입방법Server/Spring 2020. 4. 1. 19:31
🔥목차🔥 🍓 1. 스프링 프레임워크 란? 🍓 2. DI (Dependency Injection) -1) DI 를 이용한 프로그래밍 방법 -2) 의존객체를 주입하는 다양한 방법 -3) 스프링설정파일분리 -4) 의존객체를 자동으로 주입하는 방법 -5) 다수의 빈(Bean)객체 중 의존 객체의 대상이 되는 객체를 선택하는 방법 🍓 1. 스프링 프레임워크란? 스프링 프레임워크 주요기능 DI, AOP, MVC, JDBC 등을 제공 - DI : 주입기능, - AOP : 관점지향 프로그래밍 - IOC : Inversion of Control 스프링에서 객체를 생성하고 조립하는 컨테이너로, 컨테이너를 통해 생성된 객체를 빈이라고 부른다. - 컨테이너 : 스프링에서 객체를 생성 및 조립 - 빈 : 컨테이너를 통해 생성된..