728x90
📚 Today's TODO
✅어제 공부한 내용 복습하기
🗃️ 스프링 입문 - 인프런
- [섹션 5] 스프링 빈과 의존 관계
🗃️ 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터 비전 심층학습
📡 새로 알게 된 내용
🗃️ 스프링 입문
- DI (Dependency Injection) : 의존성이 있는 클래스를 내부에서 선언하는 것이 아니라 외부에서 주입시켜 주는 것
- 오늘 본 예시에서는 하나의 객체를 싱글톤으로 여러개의 객체에서 사용하기 위해서 DI 를 통해 주입해 줌으로써 재사용했다.
- Objects only define their dependencies only through constructor arguments (Spring 공식사이트)
- 스프링 빈 (Spring Bean)
- A bean is an object that is instantiated, assembled, and managed by a Spring IoC container. (Spring 공식사이트)
Spring Bean의 주요 특징
- 컨테이너 관리:
- Bean은 개발자가 직접 생성하거나 관리하지 않고, Spring 컨테이너가 생성 및 관리합니다.
- Singleton 기본 설정:
- Spring Bean은 기본적으로 싱글톤(Singleton) 스코프로 생성됩니다.
- 다른 스코프(Prototype, Request, Session 등)로도 설정 가능.
- Lazy Initialization:
- 기본적으로 Bean은 애플리케이션 컨텍스트가 로드될 때 생성됩니다(Eager Initialization).
- 필요 시 @Lazy를 사용해 지연 초기화(Lazy Initialization) 설정 가능.
- 의존성 주입 (Dependency Injection):
- Bean 간의 의존성은 생성자, 세터, 또는 필드 기반으로 주입됩니다.
- Container
- 객체의 생성, 수명 주기 관리, 의존성 관리 등을 담당하는 컴포넌트입니다. 일반적으로 Java 컨테이너는 의존성 주입(Dependency Injection, DI)을 통해 객체 간의 관계를 관리하며, 애플리케이션의 구조를 유연하고 모듈화된 방식으로 설계할 수 있도록 도와줍니다.(ChatGPT)
- Inversion of Control
- 객체가 각각 의존성을 관리하는 것이 아니라 inversion (반전) 으로 외부가 관리하는 것으로 Container가 관리한다.
- 의존성을 객체를 생성하지 않고 관리하는 것
- @Autowired
- 연관된 객체를 알아서 주입해준다고 한다!!! 이거 정말 신기하구만
- @Configuration, @Bean - 자바에 직접 설정하는 것도 배웠는데 이건 알고만 있고 다음 강의에서 더 자세히 공부해보겠다.
🎛️ 오늘의 TroubleShooting
- pip3: command not found - python 가상환경을 켜지 않아서 생긴 문제였다.
👻 오늘 하루 복기
오늘은 주말이라고 좀 나태했던거 같다. 내일은 다시 달려야지. 스프링의 bean 개념와 inversion of control 개념을 아는 것이 흥미로웠다. autowired는 정말 신기하다. container에서 다 해준다니 이거 참 편리하지 않은가. 배울게 많지만 재밌어서 할 힘이 좀 나는 거 같다. 내일은 오늘 파이토치 설치만 하다가 끝난 NLP를 중심으로 해보겠다.
728x90
'TIL' 카테고리의 다른 글
TIL - 풀스택 챌린지 시작 (1) | 2025.01.06 |
---|---|
TIL - 파이토치와 친해지기 (0) | 2025.01.05 |
TIL - 스프링, 자연어처리 (2) | 2025.01.03 |
TIL - 풀스택 GPT (0) | 2025.01.02 |
데이터 베이스 관련 궁금증 정리 - redis, mysql, mariadb, nosql, rdms (0) | 2024.12.15 |