Spring
-
Spring Entity, DTO, VOSpring 2023. 3. 16. 01:06
HTML 삽입 미리보기할 수 없는 소스 Spring Framework에서 Entity, DTO, VO는 데이터를 표현하고 전달하는 데 사용되는 클래스입니다. 이들은 각각 다른 목적을 가지며 일반적으로 Spring 애플리케이션에서 사용됩니다. Entity Entity는 데이터베이스 테이블과 일치하는 클래스입니다. 보통 JPA(Java Persistence API)를 사용하여 데이터베이스와 상호작용하며, 데이터베이스의 각 열에 해당하는 클래스 속성을 가지고 있습니다. Entity는 데이터베이스 테이블과 일치하기 때문에 테이블의 각 레코드를 표현합니다. DTO DTO는 Data Transfer Object의 약어입니다. DTO는 애플리케이션 내에서 데이터를 전송하는 데 사용되며, 일반적으로 Entity 클래스..
-
Spring Interceptor, Filter, AOP 와 각 차이점Spring 2023. 3. 16. 01:02
HTML 삽입 미리보기할 수 없는 소스 Interceptor Spring Interceptor는 스프링 프레임워크에서 제공하는 기능으로, 컨트롤러의 메서드 호출 전후에 원하는 처리를 수행할 수 있습니다. 일반적으로 로그인 여부 체크, 권한 체크, 인증 토큰 체크 등의 기능을 수행합니다. Interceptor는 HandlerInterceptor 인터페이스를 구현하고, WebMvcConfigurer 인터페이스를 구현하여 설정할 수 있습니다. Interceptor의 특징은 다음과 같습니다. 컨트롤러의 메서드 호출 전후에 처리를 수행합니다. 컨트롤러가 처리하는 요청만 가로챕니다. HandlerInterceptor 인터페이스를 구현합니다. Filter Filter는 Servlet API에서 제공하는 기능으로, 요..
-
[Webflux] Reactor Hot And Cold PublisherSpring 2023. 2. 22. 20:32
Hot and Cold Publishers는 데이터 스트림을 생성하는 Publisher의 두 가지 유형입니다. Cold Publishers Subscription이 이루어지기 전까지 데이터를 생성하지 않는 Publisher를 Cold Publisher라고 합니다. 이것은 HTTP 요청과 유사하게 생각해볼 수 있습니다. 호출을 하지 않으면 결과도 없습니다. 각 Subscription은 해당 Publisher의 데이터를 처음부터 시작합니다. Cold Publisher는 데이터를 생성하고 Subscriber가 Subscription을 요청할 때 데이터를 제공합니다. Flux source = Flux.fromIterable(Arrays.asList("blue", "green", "orange", "purple"..
-
Spring IoC와 DI에 관하여Spring 2023. 2. 20. 00:49
HTML 삽입 미리보기할 수 없는 소스 IoC와 IoC 컨테이너 IoC (Inversion of Control)은 객체 지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 객체 생성과 관리에 대한 제어권이 프레임워크에 있음을 의미합니다. 일반적으로 객체 생성 및 관리는 개발자가 직접 수행하지만, IoC에서는 프레임워크가 객체를 생성하고, 관리하는 역할을 수행합니다. 이를 통해 개발자는 객체 생성 및 관리에 대한 부분에서 자유로워지고, 코드의 유연성과 확장성을 높일 수 있습니다. Spring Framework에서 IoC는 BeanFactory와 ApplicationContext 인터페이스를 통해 구현됩니다. BeanFactory는 Spring의 가장 기본적인 IoC 컨테이너이며, Bean을 생성하고 관리..
-
Spring Boot 구글 OAuth2 로그인 구현 방법(spring-securify-oauth2)Spring 2023. 2. 16. 14:04
Spring을 사용하여 Google에 로그인하려면 Google 인증을 위한 OAuth2 프로토콜 구현을 제공하는 Spring Social Google 라이브러리를 사용할 수 있습니다. 먼저 Spring Security OAuth2 클라이언트와 Google 라이브러리를 pom.xml에 종속성으로 추가해야 합니다 org.springframework.security.oauth.boot spring-security-oauth2-autoconfigure 2.5.4 org.springframework.boot spring-boot-starter-security org.springframework.security.oauth spring-security-oauth2 2.5.4 org.springframework.soc..
-
Spring에서 Service class를 만들때 반드시 Interface를 구현해야할까Spring 2020. 2. 28. 16:05
일반적으로 Spring에서 xxxService를 만들 때 아래와 같은 방식을 주로 사용한다.interface UserService { }class UserServiceImpl implement UserService { }하지만 아래와 같이 만들면 안되는걸까?class UserService { }의존관계 주입(DI)의 기본 개념에 따르면, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않게 하고,런타임 시에 의존할 오브젝트와의 관계를 다이나믹하게 주입해주는 것이 맞다. 따라서 인터페이스를 사용하지 않았다면엄밀히 말해서 온전한 DI라고 볼 수 없다.그러나 스프링의 DI는 넓게 보자면 객체의 생성과 관계설정에 대한 제어권한을 오브젝트에서 제거하고외부로 위임했다는 IoC라는 개념을 포괄한다. 그..