본문 바로가기

Programming/Spring

(4)
[Spring Boot] Spring Security를 이용한 로그인, 로그아웃, 회원가입 구현과 thymeleaf 연동하기 Spring Security Spring 어플리케이션의 보안(인증, 권한, 인가)을 담당하는 Spring 하위 프레임워크 보안과 관련하여 체계적으로 다양한 옵션을 제공함 Filter를 기반으로 동작 -> MVC와 분리 인증(Authentication): 해당 사용자가 본인이 맞는지 인가(Authorization): 인증된 사용자가 요청한 자원에 접근 가능한지 접근 주체(Principal): 보안 시스템이 작동하고 있는 어플리케이션에 접근하는 주체(유저) Credential(비밀번호): 보안 시스템이 작동하고 있는 어플리케이션에 접근하는 주체(유저)의 비밀번호 권한: 인증된 주체가 어플리케이션의 동작을 수행할 수 있도록 허락되었는지 Spring Security 동작 순서 1. 사용자가 아이디와 비밀번호로 ..
[Spring] RestTemplate RestTemplate Spring해서 제공하는 http 통신에 유용하게 사용할 수 있는 템플릿 REST 방식으로 api를 호출할 수 있는 Spring 내장 클래스 (= RESTFul 원칙을 지킬 수 있음) json, xml 응답을 모두 받을 수 있음 Connect Pool을 사용하지 않음으로 객체를 생성할 때 인자로 ClientHttpRequestFactory의 구현체를 사용해야 함 Spring 3.0부터 지원 가능 RestTemplate Method HTTP Method 설명 excute Any exchange Any 헤더를 세팅해서 HTTP Method로 요청 보낸 후 ResponseEntity로 반환 받음 getForObject GET get 요청을 보내고 java Object로 반환 받음 get..
[Spring] Spring Data JPA ORM(Object-Relational Mapping) ORM 프레임워크가 중간에서 객체와 DB 데이터(테이블)를 자동으로 매핑 sql 자동 생성 프로그램 복잡도를 줄일 수 있다 복잡한 query가 필요한 경우 직접 query를 입력해야 한다 JPA (Java Persistence API) ORM 기술 표준 JAVA에서 제공하는 API Spring Data JPA Spring에서 JPA를 쉽게 사용할 수 있게 만들어놓은 프레임워크CRUD 처리를 위한 공통 인터페이스 제공 JpaRepository Spring Data JPA에서 CRUD 처리를 위한 공통 인터페이스 find(), findAll(), save(), delete(), ... @Service Repository와 Dto를 통해 DB에 접근하여 ..
[Spring] @Controller와 @RestController의 차이 @Controller 주로 MVC에서 View를 반환할 때 사용한다. ResponseBody 어노테이션을 통해 HTTP Response Body에 데이터를 담아 사용할 수도 있다. (이렇게 사용할 경우 View를 리턴하지 않고 Controller에서 직접 데이터 리턴이 가능하다) Client -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller -> View -> Dispatcher Servlet -> Response -> Client @ResponseBody 자바 객체를 HTTP 응답 본문의 객체로 변환하여 클라이언트에게 전송할 때 사용한다. Client -> Request -> Dispatcher Servlet -> Handler Map..