Spring 6

CORS 정리

CORS (Cross Origin Resource Sharing) : 다른 출처의 자원을 공유하는 것. 교차 출처 리소스 공유는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 어플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제이다. CORS 접근제어에 사용되는 3가지의 시나리오가 있다. 단순 요청 (Simple Request) 사전 요청 (Preflight Request) 인증 요청 (Credentialed Request) 1. 단순 요청 (Simple Request) Preflight 요청 없이 바로 요청을 보내는 방식이다. Simple Request는 아래와 같은 조건을 만족해야한다. 메서드 : GET, POST, HEAD Content-..

Spring 2022.08.14

[ Spring ] spring ioc 컨테이너와 Bean

빈(Bean) 스프링(Spring) 컨테이너가 관리하는 자바 객체를 빈(Bean)이라 한다. 스프링의 특징에는 제어의 역전(IoC)이 있다. 사용자의 제어권을 다른 주체에게 넘기는 것을 IOC(제어의 역전) 라고 한다. IOC가 적용된 경우, 객체의 생성을 특별한 관리 위임 주체에게 맡기게 된다. 이 경우 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 된다. 지금까지는 사용자가 new연산을 통해 객체를 생성하고 메소드를 호출했다. IoC가 적용된 경우에는 이러한 객체의 생성과 사용자의 제어권을 스프링에게 넘긴다. 사용자는 직접 new를 이용해 생성한 객체를 사용하지 않고, 스프링에 의하여 관리당하는 자바 객체를 사용한다. 이 객체를 '빈(bean)'이라 한다. 개발..

Spring 2022.08.01

[ Spring ] IoC, DI 에 대해서 알아보자

제어의 역전 ( IoC , Inversion of Control ) : 프로그램의 제어 흐름이 뒤바뀜을 말한다. 일반적인 경우 사용자가 자신이 필요한 객체를 생성해서 사용한다. Spring의 Controller , Service , Repository로 예시를 들어 객체 생성을 통한 "강한 결합"을 이해해보자 1. Contoller1 이 Service1 객체를 생성하여 사용할 때 public class Controller1 { private final Service1 service1; public Controller1() { this.service1 = new Service1(); } } 2. Service1 이 Repostiroy1 객체를 생성하여 사용할 때 public class Service1 { ..

Spring 2022.07.31

[ 항해 3주차 개인 과제 ] API 명세서 및 Q&A

1. 요구 사항 2. API 명세서 Method URL Request Response 모든 게시글 조회 GET /api/boards { "success": true, "data": [ { "createdAt":"2022-07-27T14:48:42.903424", "modifiedAt": "2022-07-27T14:48:42.903424", "id": 15, "title": "제목3", "author": "작성자3", "content": "내용3" }, { "createdAt": "2022-07-27T14:48:35.625981", "modifiedAt": "2022-07-27T14:48:35.625981", "id": 14, "title": "제목2", "author": "작성자2", "content":..

Spring/SpringBoot 2022.07.25

[ SpringBoot ] JPA 간단 정리

먼저 RDBMS에 대해 간단하게 알아보자. RDBMS(Relational DataBase Management System), 줄여서 RDB는 은 관계형 데이터베이스를 말하는 것으로, 컴퓨터에 정보를 저장하고 관리하는 기술이다. 성능/관리 면에서 매우 고도화된 엑셀 이라고 생각해도 좋고, 정보 저장소라고 생각해도 무방하다. 예를 들어 쇼핑몰의 경우 주문 정보, 고객 정보 등을 컴퓨터에 저장해야 할텐데, 이걸 도와주는 것이 바로 RDB이다. 여기서 SQL은 데이터를 읽고, 저장하고, 변경하고, 삭제하는 구체적인 문법이다.. 스프링 프레임워크로 프로젝트를 해본 사람이라면 간단하든 복잡하든 DB를 사용하면서 대부분의 객체들을 테이블에 매핑하는 데이터베이스 관련 작업을 Spring JDBC Template이나 M..

Spring/SpringBoot 2022.07.22

[ SpringBoot ] Gradle 사용하기

실제로 많은 개발자들은 다른 개발자가 만든 코드나 도구를 가져다 쓰는 경우가 매우 많다. JAVA의 경우 mavenCentral, jcenter 을 이용해서 다른 사람의 코드를 다운받고 적용하는 것을 매우 간편하게 할 수 있다. 그리고 그것을 도와주는 것이 바로 Gradle 이다. Gradle은 그 외에도 우리가 인터넷에 스프링 프로젝트를 배포하는 빌드를 도와주는 역할을 한다. [ 예제 ] Gradle을 이용해 라이브러리 추가해보기 1. Maven Repository 에서 원하는 라이브러리를 찾는다. Maven Repository: Search/Browse/Explore UCloud SDK Java Uphone Last Release on Jul 20, 2022 mvnrepository.com 본인은 여..

Spring/SpringBoot 2022.07.22