요즘 java spring을 공부하고 있다
이제까지 배운내용 간단하게 정리
DTO(Data Transfer Object)
- 데이터 전송 및 이동을 위해 생성되는 객체
Bean
- Spring이 관리하고 있는 객체
@Configuration
public class PasswordConfig {
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
- Bean으로 등록하고자 하는 객체를 반환하는 메서드를 선언하고 @Bean을 설정합니다.
- Bean을 등록하는 메서드가 속한 해당 클래스에 @Configuration을 설정합니다.
- Spring 서버가 뜰 때 Spring IoC 컨테이너에 'Bean'으로 저장됩니다.
Spring IoC 컨테이너
- Bean들을 모아둔 컨테이너
@Component
- 일반 클래스를 Spring이 관리하는 Bean객체로 등록하는 방법
- 커피콩 모양 - bean 등록 된거임(처음 대문자를 뺀 memoService 로 ioc컨테이너에 저장됨)
@RequiredArgsConstructor
- final이 붙은 필드에 대한 생성자를 만들어줌
bean으로 등록하면 알아서 의존성 주입이 되는건가? Nope.
원래는 @Autowired라는 애노테이션을 달아줘야함.
하지만 Spring이 4.3 version부터는 생략 가능해짐 (단, 생성자 선언이 1개일때만 생략가능)
ORM(Object-Relational Mapping)
- 객체와 데이터베이스를 매핑해주는 역할
JPA
- 자바 ORM 기술의 대표적인 표준 명세
- JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해 줍니다.

Entity
- JPA에서 관리되는 클래스 즉, 객체를 의미
- JPA가 관리할 수 있는 Entity 클래스로 지정

영속성 컨텍스트
- Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간
영속성 컨텍스트의 기능
- 1차 캐시
- 쓰기 지연 저장소
- 변경 감지 (Dirty Checking)
ActionQueue(쓰기 지연 저장소)
- SQL을 모아서 한꺼번에 DB에 반영
flush()
- 영속성 컨텍스트의 변경 내용들을 DB에 반영하는 역할을 수행.
- 즉, 쓰기 지연 저장소의 SQL들을 DB에 요청하는 역할을 수행
'TIL' 카테고리의 다른 글
2023-11-16 TIL (1) | 2023.11.16 |
---|---|
2023-11-15 TIL (1) | 2023.11.15 |
2023-11-13 TIL(Optional) (5) | 2023.11.13 |
2023-10-27(프로그래머스) (1) | 2023.10.27 |
2023-10-26 TIL(프로그래머스) (0) | 2023.10.26 |
댓글