드디어 마지막 장인 13장을 다 읽었다.. Chap.13 서비스의 인증과 권한 부여서비스를 개발하다보면, 회원간의 별도의 데이터를 저장한다던가, 특정 게시물을 삭제할 때, 요청한 유저가 해당 게시글의 주인인가를 파악하는 로직이 추가되기 마련이다. 이런 경우에 Spring Boot에서는 요청을 보낼때 누가 보냈는지를 넣어서 전달하고 반환받을 수도 있지만, 이런 것은 Spring스럽지 않기 때문에, Spring Boot Security를 사용해서 보안과 인증, 권한을 처리한다. 13.1 보안 용어 이해인증 Authentication은 사용자가 누구인지 확인하는 단계를 의미한다. 예를 들자면 로그인과 같은 기능이 존재한다.로그인 Form에 Username과 Password를 입력한 후 전달하고, 서버에서는 해..
Chap.12 서버 간 통신12.1 RestTemplate이란? RestTemplate은 Spring에서 HTTP 통신 기능을 손쉽게 사용하도록 설계된 템플릿입니다.HTTP 서버와의 통신을 단순화한 이 템플릿을 이용하면 RESTful 원칙을 따르는 서비스를 편리하게 만들 수 있습니다. RestTemplate는 기본적으로 동기 방식으로 처리되며, 비동기 방식으로 사용하고 싶은 경우 AsyncRestTemplate를 사용하면 됩니다.하지만, RestTemplate의 경우 현재 Deprecated된 상태여서 앞으로 알아볼 WebClient를 사용하는 것이 좋을 것같습니다. RestTemplate는 다음과 같은 특징을 가집니다. HTTP 프로토콜의 메서드에 맞는 여러 메서드를 제공합니다.RESTful 형식을 ..
Chap11. 액추에이터 활용하기11.1 프로젝트 생성 및 액추에이터 추가 기존의 프로젝트의 빌드 환경에 따라, gradle인 경우, build.gradle에 Spring Boot Starter Actuator를 추가하고, Maven인 경우 pom.xml에 해당 종속성을 추가해주어 액추에이터 환경을 추가해준다. 11.2 엔드포인트 application.yml 또는 application.properties에 management.endpoints.web.base-path=/custom-path를 추가해서 특정 경로에서 서버의 상태 및 메트릭을 확인 할 수 있다. 기본적으로 엑추에이터에는 기본 엔드포인트 리스트가 존재한다. +) 추가적으로 Spring MVC, Spring WebFlux, Jersey를 사용하..
연관 관계 매핑 종류와 방향 One To One (1대1)관계하나의 객체에 대해서 반드시 하나의 연관 객체만 매핑되는 구조 1 대 1 단방향 관계 예를 들면, 상품과 그 상품에 대한 상세정보는 1대 1 매핑일 것이다. 코드상으로는 Product Detail Entity 클래스에서 Product Entity를 가지도록 해야 한다. @OneToOne 어노테이션과 @JoinColumn(name="product_number")를 통해서 1대 1 관계를 매핑하게 된다. JoinColumn에서는 여러 가지 속성 값을 지정해 줄 수도 있는데, name : 매핑항 외래키의 이름을 설정합니다.rerferencedColumnName : 외래키가 참조할 상대 테이블의 칼럼명을 지정합니다.foreignKey : 외래키를 ..