Spring
-
[Spring] 연관관계1Spring 2025. 4. 16. 16:22
#단방향 #양방향💡 Spring 정리: 연관 관계 1📘 개념 정리🔥연관관계 🎯 JPA를 통해 데이터베이스 테이블 간의 관계를 객체 지향적으로 표현하여 엔티티 클래스들 간의 관계를 설정 하여, 연관관계를 매핑하면 SQL을 직접 작성하지 않고도 객체 간의 관계를 활용하여 쉽게 데이터를 조회하고 조작할 수 있다. 🎯 Entity(Table)들간의 연관 관계가 존재하는 경우 1. 명시적으로 표현하고 관리함 2. 데이터 조회의 효율성과 유지보수의 편의성을 높이는 것 주요 목적이다. ◆ 단방향 ❓ , 양방향❓방향단방향 양방향 정의하나의 Entity만 다른 Entity를..
-
[Spring] API 예외 처리 @ExceptionHandlerSpring 2025. 4. 15. 18:54
Spring @ExceptionHandler @ControllerAdvice 🔥 @ExceptionHandler vs @ControllerAdvice @ExceptionHandler 컨트롤러 클래스 내에서 특정 예외를 처리하는 메서드를 정의하는 Annotation으로 예외가 발생했을 때 설정된 메서드가 호출되어 예외를 처리한다. 컨트롤러 클래스 내에서 특정 예외를 처리하는 메서드를 정의하는 Annotation으로 예외가 발생했을 때 설정된 메서드가 호출되어 예외를 처리한다.사용 법특정 컨트롤러에서 발생한 예외를 처리하기 위한 메서드를 지정한다.단일 컨트롤러 내에서 예외를 처리한다.계층별로 알맞은 예외를 발생(throw new)시키기만 하면된다.문제점Controller 코드에 Exception 처..
-
[Spring] Bean ScopeSpring 2025. 4. 15. 18:24
Spring Bean Scope 종류 🔥 Bean Scope 🎯 Spring 컨테이너에서 Bean이 어떻게 생성되고 관리되는지를 정의하는 개념 🎯 Spring은 다양한 범위(스코프)를 제공하여 Bean의 생명주기를 설정할 수 있는데, 각 스코프는 Bean이 얼마나 오래 유지되는지, 여러 번 사용할 수 있는지 등을 결정합니다 🔥 Bean Scope 종류싱글톤프로토콜기본으로 설정되는 스코프이다 Spring 컨테이너 내에서 Bean이 하나만 생성되고 모든 요청이 같은 객체를 사용한다. 요청할 때마다 새로운 인스턴스가 생성된다.필요한 의존관계를 주입한다.생성한 프로토타입 Bean을 클라이언트에게 반환한다.컨테이너는 프로토타입 Bean의 생성, 의존관계 주입, 초기화..
-
[Spring] @PostConstruct, @PreDestroySpring 2025. 4. 15. 17:08
Spring Bean 방식을 대체 https://note8770.tistory.com/109 [Spring] Bean 생명 주기(2)Spring Bean 속성 🔥 Bean 설정 정보에 초기화 메서드, 종료 메서드 지정할 수 있다. 🎯 설정 정보에 초기화 메서드, 종료 메서드를 지정 할수 있다. 🎯 외부 라이브러리에도 콜백 메서드를 사용 할note8770.tistory.com 🔥 @Bean 설정 이전에 사용된 초기화/소멸 방식 🎯 @PostConstruct→ 초기화 메서드 (빈 생성 직후 실행) 🎯 @PreDestroy → 소멸 메서드 (빈 소멸 직전 실행)같은 기능의 @이 있을까 ❓ @Bean()의 확장성과 테스트 용이성을 고려해서 @Pos..
-
[Spring] Bean 생명 주기(2)Spring 2025. 4. 15. 16:42
Spring Bean 속성 🔥 Bean 설정 정보에 초기화 메서드, 종료 메서드 지정할 수 있다. 🎯 설정 정보에 초기화 메서드, 종료 메서드를 지정 할수 있다. 🎯 외부 라이브러리에도 콜백 메서드를 사용 할수 있다. 구현 방법@Bean(initMethod = "초기화 메서드명", destroyMethod = "소멸 메서드명") 📌 초기화 메서드: initMethod = "초기화 메서드명" Bean이 생성되고 나서, 즉 Spring이 객체를 생성하고 의존성 주입까지 마친 뒤→ 자동으로 어떤 설정이나 준비 작업을 해줄 수 있는 메서드 📌 종료 메서드:destroyMethod = "소멸 메서드명" Spring 컨테이너가 종료될 때,→ Bean이 제대로 정리(c..
-
[Spring] 이메일 인증 구현하기Spring 2025. 4. 14. 19:11
Spring 구글 SMTP 이메일 인증✅ 구글 SMTP SMTP(Simple Mail Transer Protocal) 인터넷에서 메일을 주고 받기 위한 전송 규약 및 프로트콜 서버이다. smtp 서버를 구축하는 방법이 있지만 시간과 안전성을 고려해서 구글에서 지원하는 SMTP 서버를 연동하기로 했다. ✅ 이메일 인증 ● 과정 1단계 유저가 서버에게 비밀번호 찾기 페이지에 '이메일'을 서버로 전송한다. 서버에서 6자리 인증코드를 만들어준다 구글 SMTP 서버 에서 인증코드를 담긴 html정보를 이메일로 전송한다. ..
-
[Spring] 세션 로그인 검증 방식 개선 제안Spring 2025. 4. 14. 13:13
Spring Session 사용법 https://note8770.tistory.com/99 [Spring] 과제 - Trobleshooting Session을 이용한 로그인 유지.🔍 트러블슈팅: 로그인 세션 체크가 중복되는 것 같을 때🧩 문제 상황로그인한 사용자인지 확인하기 위해 세션을 개별 API에서도 매번 확인하고 있었다.하지만 Filter에서도 이미 세션 체크를 하note8770.tistory.com 이전 글에서 수정 할점이 있다. 필터에서 Session의 예외 처리하는데 굳이 또 체크하는 함수를 만든다? ✅ 기존 방식 public Long getUserId(@SessionAttribute(name = Const.LOGIN_USER, required = false) LoginResp..