스프링(15)
-
스프링 - JPA Auditing 적용하기
2024/08/20 ※ JPA Auditing를 적용해보자. ▶ Timestamped📌 데이터의 생성(created_at), 수정(modified_at) 시간은 포스팅, 게시글, 댓글 등 다양한 데이터에 자주 활용된다. 따라서, 각각의 Entity의 생성 수정 시간을 매번 작성하는건 너무 비효율적이다.@Getter@MappedSuperclass@EntityListeners(AuditingEntityListener.class)public abstract class Timestamped { @CreatedDate @Column(updatable = false) @Temporal(TemporalType.TIMESTAMP) private LocalDateTime ..
2024.08.20 -
스프링 - RestTemplate & Open API
2024/08/19 오늘 살펴볼 RestTemplate에 앞서혹시 REST API가 무엇인지 모르는 분들은이전 포스팅을 참고하시기 바랍니다. ※ RestTemplate에 대해 알아보자. ▶ RestTemplate이란? 💡 Server to Server ● 지금까지는 주로 Client 즉, 브라우저로부터 요청을 받는 서버의 입장에서 개발을 진행해왔다. ● 서비스 개발을 진행하다보면 라이브러리 사용만으로는 구현이 힘든 기능들이 무수히 많이 존재한다. ○ 예를 들어 우리의 서비스에서 회원가입을 진행할 때 사용자의 주소를 받아야 한다면❓ ..
2024.08.19 -
스프링 - Spring Security 프레임워크
2024/08/14 ※ Spring Security 프레임워크에 대해 알아보자. ▶ Spring Security 적용👉 'Spring Security' 프레임워크는 Spring 서버에 필요한 인증 및 인가를 위해 많은 기능을 제공해줌으로써 개발의 수고를 덜어준다. 마치 'Spring' 프레임워크가 웹 서버 구현에 편의를 제공해 주는 것과 같다. ● 'Spring Security' 프레임워크 dependency 추가// Securityimplementation 'org.springframework.boot:spring-boot-starter-security' ● 'Spring Security' 활성화 ○ Spring ..
2024.08.14 -
스프링 - Filter란?
2024/08/14 ※ Filter에 대해 알아보자. ▶ Filter란? ● Filter란 Web 애플리케이션에서 관리되는 영역을 말한다. ○ Client로부터 오는 요청과 응답에 대해 최초 / 최종 단계의 위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있다. ● 주로 범용적으로 처리해야 하는 작업들, 예를들어 로깅 및 보안 처리에 활용한다. ○ 또한 인증, 인가와 관련된 로직들을 처리할 수도 있다. ○ Filter를 사용하면 인증, 인가와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있다는 장점이 있다. ▶ F..
2024.08.14 -
스프링 - 영속성 컨텍스트란?
2024/08/13 ※ 영속성 컨텍스트에 대해 알아보자. ▶ 영속성 컨텍스트란? ● Persistence를 한글로 번역하면 '영속성, 지속성'이라는 뜻이다.Persistence를 객체의 관점으로 해석해 보자면 ‘객체가 생명(객체가 유지되는 시간)이나 공간(객체의 위치)을 자유롭게 유지하고 이동할수 있는 객체의 성질’을 의미한다. ● 좀 더 쉽게 표현해 보자면 Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간이라고 할 수 있다. ● 직접 SQL을 작성하지 않아도 JPA를 사용하여 DB에 데이터를 저장 or 조회할 수 있으며 수정, 삭제 또한 가능 ● 이러한 일련의 과정을 효율적으로 처리하기 위해 J..
2024.08.13 -
스프링 - Entity란?
2024/08/12 ※ Entity에 대해 알아보자. ▶ Entity란? ● Entity : JPA에서 관리되는 클래스 즉, 객체를 의미한다. ● Entity 클래스는 DB의 테이블과 매핑되어 JPA에 의해 관리된다. ▶ Entity 클래스 만들기 ● 예시 - Memo Entity import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.Id;import jakarta.persistence.Table;@Entity // JPA가 관리할 수 있는 Entity 클래스 지정@Table(name = "memo") // 매핑할 테이블의 이름을 지정..
2024.08.12