🎯 목표 : IoC와 DI의 기초 개념 학습스프링 애플리케이션에서 객체(Bean)의 생성과 의존 관계 설정, 사용, 제거 등 전반적인 작업을 개발자가 작성한 소스코드가 아닌 스프링 컨테이너가 제어한다.객체에 대한 제어권을 스프링 컨테이너가 갖고 있다고 하여 IoC라
🎯 목표 : AOP의 기초 개념 이해관점 지향 프로그래밍을 뜻하며, 어떤 로직을 기준으로 핵심적인 관점과 부가적인 관점으로 나눠 관점을 기준으로 각각 모듈화한다. 모듈화란, 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다.OOP의 모듈화의 핵심 단위는 클래스
🎯 목표 : Spring Container의 이해IoC/DI 기초 개념에서 IoC 컨테이너로 기본적이 내용을 정리 했다.VueApplicationContext를 스프링 컨테이너라고 하며 인터페이스로 구현되어있다.내부에 존재하는 애플리케이션 Bean 의 생명주기, B
🎯 목표 : 의존성 주입의 의미와 주입 주체와 대상에 대한 학습IoC/DI에 대해서 기초 개념을 정리 했었다.DI의 Spring에서의 의미와 주입할 주체, 주입될 대상은 무엇일까?MemberService객체는 MemberRepository객체에 의존성을 가지고 있다
🎯 목표 : Bean의 이해스프링 컨테이너(ApplicationContext)에 의해 관리되는 재 사용 소프트웨어 컴포넌트다.스프링 컨테이너에서 관리하는 인스턴스화된 객체를 의미하며, 다양한 방법으로 빈 등록을 할수 있다.@Bean(name = "beanName")
🎯 목표 : @CombonentScan 작동 원리와 의존 관계 자동 주입 이해설정 정보에 직접 Bean을 등록하는 방식으로 코드를 작성한다면, 등록해야될 빈이 수백 수천개가 될때 반복된 작업과 누락의 문제 등 여러 문제가 발생 할 수도 있다.스프링에서는 설정 정보를
🎯 목표 : Singleton 패턴과 스프링 Singleton 컨터에너에 대한 이스프링을 사용하지 않고 Java로만 구현한 Config DI 컨테이너는 요청할때마다 새로 객체를 생성한다.100번 요청되면 100개의 객체가 생성되고 소멸되는 과정이 필요할 것이다.이런
🎯 목표 : Bean Scope의 이해스프링 컨테이너에서의 Bean Scope의 기본 값은 singleton이다.싱글톤 인스턴스는 컨테이너의 생성과 동시에 생성되고, 컨테이너의 소멸 전 인스턴스도 소멸된다.스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입
🎯 목표 : Spring MVC의 이해와 동작방식, 구성요소 학습Spring 모듈중 Servlet API 를 기반으로 클라이 언트의 요청을 처리하는 모듈을spring-webmvc라고 한다.Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임웍이다.Mod
🎯 목표 : Spring MVC에서의 DTO 개념과 필요성에 대한 이해Data Transfer Object의 약자로 엔터프라이즈 애플리케이션 아키텍처 패턴의 하나다.계층간 데이터 교환이 이루어 질수 있도록 하는 객체로, JSON과 같은 직렬화에도 사용되는 객체다.Co
🎯 목표 : Spring MVC에서의 예외 처리 학습Controller 레벨에서의 처리 = @ExceptionHandlerGlobal 예외 처리 = @ControllerAdvice & @RestControllerAdviceREST API에 대한 예외처리만 다룰 예정이
🎯 목표 : Spring MVC에서의 HTTP 요청 / 응답 데이터를 주고 받는 방법에 대한 학습내용 정리데이터를 전송 받아 조회하는 여러가지 방법.위와 같이 데이터를 전송 받는다 가정하고 조회하는 방법을 정리했다.request.getParameter는 단순히 Htt
Spring DATA JDBC에서 Pagination을 적용하기 위해 Pageable 인터페이스를 활용한다.Pagination 기능을 적용하기 위해 Controller에서는 원하는 페이지, 슬라이스 사이즈를 요청 파라미터로 받아 서비스 계층으로 넘겨 줘야된다.파라미터를
엔티티 매니저 팩토리는 엔티티 매니저를 만들어준다.엔티티 매니저는 한 한개의 엔티티 매니저로 애플리케이션 전체에서 공유한다.엔티티 매니저 팩토리는 여러 스레드간에 공유가 가능하지만 엔티티 매니저는 하나의 스레드에서만 접근 할수 있도록 한다.image엔티티 매니저는 JP
image멤버와 포인트라는 엔티티가 있고, 멤버는 어떤 서비스를 제공 받음으로 포인트를 쌓을수 있는 경우를 가정했다.객체에서의 방향성위 그림에서 멤버와 포인트의 관계는 1:1 관계로 멤버에서 포인트 테이블을 외래 키로 참조하고 있으며, 객체 입장에서 생각했을때, 멤버의
객체는 데이터베이스에 저장되어 있으므로 연관된 객체를 마음껏 탐색하기 어렵다. JPA에서는 이 문제를 해결하기 위해 프록시라는 기술을 사용한다.하나의 객체를 조회할때 처음부터 실제 객체를 데이터베이스에서 가져오는 것이 아니라, 실제 사용하는 시점에 데이터베이스에서 조회
단위테스트는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트다.하나의 모듈이란 각 계층에서의 하나의 기능 또는 메소드로 이해할 수 있다.하나의 기능이 올바르게 동작하는지를 독립적으로 테스트하는 것이다.일반적으로 테스트 코드를 작성한다고 하면 거의 단
스프링에서 양방향 의존관계 오류가 발생하는 경우는 잘못된 의존 관계 설계로 인하여 발생하게 된다.간단하게 설명하면, Bean A 가 Bean B를 의존하고 Bean B 가 Bean A를 서로 의존하고 있을때 발생한다.순환 참조에 대해서 여러 해결 방법이 있지만, 가장
imageSpring Security의 컴포넌트들이 어떤 과정을 거쳐 인증 요청을 처리하는지 정리해 보았다. 위 그림을 기반으로 정리했다.Username, Password 를 포함한 Request Data가 서버에 전송된다.AbstractAuthenticationPro
image사용자가 로그인 인증에 성공한 후 인증된 사용자에게 부여하는 권한 처리 흐름을 정리해 보았다.AuthorizationFilter는 Spring Security Filter Chain에서 URL을 통해 사용자의 리소스에 대한 액세스를 제한하는 권한 부여 필터다.
Access Token : 정보들에 접근할 수 있는 권한 부여에 사용한다.실제 권한을 얻는데 사용하는 토큰은 Access Token이다.Access Token이 탈취 되어도 오랜시간 사용할 수 없도록 만료기간을 짧게 설정한다.하여 Refresh Token과 함께 사용하
\[Spring] Spring Security + JWT_01 블로깅에서 로그인 인증을 구현하기 위한 UserDetailsService, UserDetails, LoginDto까지 구현 하였다.secretKey(비밀키),accessTokenExpirationMinute
\[Spring] Spring Security + JWT_01 블로깅에 이어,\[Spring] Spring Security + JWT 로그인 인증 구현\_02 블로깅에서 로그인 인증 필터와 후속 처리에 대해 구현하였다.로그인 인증을 성공한 후 Request의 Heade