Spring 9

[Spring] RedirectAttributes 정리

1. RedirectAttributes 란?스프링에서 리다이렉트를 사용할 때 Model을 사용하면 데이터가 redirect 요청 후에도 유지되지 않는데 RedirectAttributes를 사용하면 데이터를 일시적으로 전달 가능함 2. 주요 메서드1. addAttribute(String key, Object value) - 쿼리 파라미터로 추가하는 방식, 새로고침해도 유지됨// URL 쿼리 파라미터로 전달 -> redirect:/home/{name}?id=1@PostMapping("/save")public String saveUser(User user, RedirectAttributes redirectAttributes) { redirectAttributes.addAttribute("name", "K..

Spring 2025.03.23
[Spring] Oauth 연동 - Oauth2 로그인 기능 구현하기

1. Oauth✅ Oauth란?애플리케이션이 특정 시스템의 보호된 리소스에 접근하기 위해, 사용자 인증을 통해 사용자의 리소스 접근 권한을 위임받는 것사용자가 클라이언트 서비스를 이용하기 위해 요청클라이언트는 검증 서버에 액세스 토큰을 요청검증 서버는 사용자에게 인가 동의를 요청인가 동의를 받은 검증 서버는 리소스에 접근할 수 있는 액세스 토큰을 생성해 클라이언트로 전송클라이언트는 액세스 토큰을 저장하고 리소스 서버에 요청리소스 서버는 액세스 토큰 검증 후 요청한 리소스를 클라이언트에 응답 2. build.gradleimplementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 3. application.properties# goo..

Spring 2025.01.22
[Spring] Oauth 연동 - JWT 로그인 기능 구현하기

1. JWT✅ JWT란?JSON Web Token은 JSON 객체로 정보를 안전하게 전송하는 자체적인 방법을 정의한 표준OAuth는 Token을 이용한 인증방식을 말하는 것이고 JWT는 TokenJWT를 생성할 때 헤더와 페이로드 정보를 인코딩하고, 이들을 합친 문자열에 대해 비밀 키로 서명을 생성한번 발급된 token은 수정, 폐기가 불가하여 Access token, Refresh token 사용1) JWT 라이브러리 📌 jjwt, java-jwtjjwt : Java 기반의 경량 JWT 처리 라이브러리로, JWT 생성, 파싱, 서명, 그리고 검증을 지원java-jwt : JWT 생성 및 검증뿐만 아니라 OAuth2, OpenID Connect(OIDC)와 같은 표준 프로토콜을 지원 2) JWT 암호화..

Spring 2025.01.21
[Spring] Oauth 연동 - Security6.x 정리

1. Filter용도 : 요청과 응답에 대해 전역적으로 처리할 작업에 주로 사용, 요청시 헤더를 검사해 인증 토큰 여부 및 검증하는데 사용동작 : DispatcherServlet 외부에서 요청이 전달되기 전과 후에 FilterChain을 통해 동작✅ 메소드init(), doFilter(), destroy()init() - filter가 생성될 때 수행되는 메소드doFilter() - 요청, 응답이 filter를 거칠때 수행되는 메소드, 파라미터로는 request, response, filterChain이 있음destroy() - filter가 사라질때 수행되는 메소드 2. Spring Security용도 : 인증과 인가에 대한 부분을 Filter의 흐름에 따라 처리하는데 사용✅ 동작과정사용자 요청Auth..

Spring 2025.01.15
[Spring] 자주 보는 어노테이션 정리

1. @SpringBootApplication≫ 스프링 부트의 가장 기본적인 설정을 선언package com.rest.api;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Applications { public static void main(String[] args) { SpringApplication.run(Applications.class, args); }} 2. @Controller≫ 해당 class가 Controller 임을 알려주기 위한 선언 ≫ @..

Spring 2022.03.04
[Spring] Lombok 정리

LombokJava 라이브러리중 하나로 getter, setter, toString 등의 반복 메서드를 줄여주는 라이브러리import lombok.*; @Getter @Setter @ToString @NoArgsConstructor @AllArgsConstructor public class TestLombok { private String test_id; private String test_name; } @Getter, @Setter 등 5개 대신에 @Data 하나로 통합 가능import lombok.*; @Datapublic class TestLombok { private String test_id; private String test_name;} 기본 public으로 들어가고 pr..

Spring 2022.02.04
[Spring] 자주 쓰는 용어 정리

1. JPA≫ ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음≫ 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 2. Bean≫ Spring Ioc 컨테이너가 관리하는 자바 객체≫ @Component 어노테이션이 등록되어 있는 경우에는 Spring이 어노테이션을 확인하고 자체적으로 Bean으로 등록함 3. IoC≫ 의존성 주입을 통하여 객체를 컨테이너에 맡겨서 로직에만 집중할수 있게 만드는것

Spring 2022.02.04