[Spring Data JPA] JPA Entity 클래스에 기본 생성자가 필요한 이유
·
Spring Data JPA
JPA 기본 생성자가 필요한 이유@PersistenceContextprivate EntityManager entityManager;public User getUser(Long userId) { User user = entityManager.find(User.class, userId); return user; // JPA가 내부적으로 기본 생성자를 호출하여 객체를 생성하고, 리플렉션을 통해 필드 값을 설정}해당 과정을 살펴 보면 entityManager.find 즉, 조회 과정에서 User.class 타입을 인자로 받고 있다.이 User.class 이 클래스 정보로 내부에 애너테이션이나 필드 생성자 등의 정보를 리플렉션을 통해 얻을 수 있게 된다.그러면 이 정보를 가지고 DB에 데이터를 조회할..
[Spring Framework] (3) - IoC 컨테이너 & Bean 개념 이해 하기
·
Spring Framework
1. IoC Container ( 스프링 컨테이너 )앞서 살펴본 IoC는 "제어의 역전", IoC Container에게 제어의 권한을 넘긴다고 설명을 했었다. IoC Container는 객체를 의존성 주입을 시켜주기 위한 객체들을 모두 컨테이너에 넣어서 보관을 하게 된다. 해당 컨테이너는 내부의 객체들을 관리합니다. 과정으로는 먼저 컨테이너에 의해 인스턴스화 되고, 인스턴스화 된 객체들은 의존성 주입이 자동으로 됩니다.이렇듯, IoC Container는 Bean(객체) 들을 관리하며, 자동으로 의존성을 주입해주는 역할을 한다. * IoC Container가 관리하는 객체들은 모두 Bean이다. - IoC 컨테이너는 자바의 객체로써 존재한다.- 대표적인 구현체로는 BeanFactory 와 이를 확장한 인터..
[Spring Framework] (2) - IoC & DI 개념 이해 하기
·
Spring Framework
1. IoC (Inversion of Control)Inversion of Control의 뜻은 "제어의 역전"이다. 여기서 말하는 제어는, 객체를 직접 생성하거나 찾는 방식에서 벗어나 Spring Framework의 IoC 컨테이너 에게 제어의 권한을 넘김으로써, IoC 컨테이너가 필요할 때 알아서 객체를 생성하고 필요한 의존성을 알아서 주입을 해주는 방식을 의미한다.- 객체의 제어를 외부에서 담당하게 한다는 폭 넓은 개념- IoC Container에게 제어 권한을 넘긴다는 개념 * IoC Container : Spring Framework가 의존성 주입을 자동을 해주기 위한 "Bean"들의 집합과 "Bean"들을 관리해주는 공간이다.* Bean : Spring Framework가 관리하는 객체들을 "..
[Spring Framework] (1) - Spring & Spring Framework 차이
·
Spring Framework
개요Spring과 Spring Framework 단어에 대해 명확한 차이를 알고 있어야 Spring Framework를 더욱 쉽게 이해를 할 수 있을 것이다. 단어의 뜻은 정확하게 해석을 해놔야 나중에 헷갈리지 않는다.  1. Spring 이란?Spring의 처음은 Spring Framework라는 이름으로 시작을 했지만, 시간이 지남에 따라 Spring Framework 기반 위에 다른 프로젝트들이 추가 되면서 Spring은 Spring Framework 및 다른 프로젝트들을 다 포괄하는 단어가 되었다.- Spring은 Spring Framework 기반으로 구축이 된 프로젝트들을 일컫는다.- Spring은 오픈소스이며, Spring 내의 모든 프로젝트 또한 오픈소스이다.  2. Framework 란?..
내일배움캠프 49일차 TIL - Spring Security 필터 순서에 따른 인가 문제
·
내일배움캠프 Spring 5기
240626오늘의 학습    ●  SpringSecurity 자습 Spring Security를 이용하며 생긴 문제와 해결Security 설정에 requestMatchers().permitAll().anyRequest().authenticated() 메서드를 이용하면 인가 권한이 없이 넘어갈 수 있다고 들어 개인적으로 해석을하여 위의 빌더 방식의 메서드를 호출하면 SecurityFilterChain에 들어있는 Filter들을 모두 건너뛰어 바로 Controller로 넘어가는 줄 알았지만, FilterChain 내부에 커스텀한 JwtAuthorizationFilter에 토큰 검증 메서드를 수행한다는 사실을 알게되었다. 결국 SecurityFilterChain의 Filter를 탄다는 사실을 알게되었고, 그럼..
내일배움캠프 35일차 TIL - Enum
·
내일배움캠프 Spring 5기
240605오늘의 학습     ●  1. Enum    ●  2. 팀 프로젝트 게시글 기능 구현 Enum( 열거타입 )자바 1.5버전부터 새롭게 추가된 기능이며, 자바에서 Enum은 한정된 값들의 집합상수들의 집합을 의미한다.Enum은 Enumeration의 약자이며, Enumeration은 열거형이라고 부르며 목록, 알림표와 같은 의미를 가지고 있다.Enum은 열거타입이며, 열거타입은 데이터 중에 한정된 값을 갖는 데이터를 열거타입이라고 한다.즉, 한정된 값은 상수를 의미하며, 한정되어 있으므로 데이터의 변경이 있어서는 안된다는 규칙이 존재한다.ex) 월, 화, 수, 목, 금, 토, 일 ( 7개 ) / 봄, 여름, 가을, 겨울 ( 4개 ) Enum 열거형열거타입은 참조 타입이므로 null값으로 초기화가..