1. 스프링이란
- 스프링 프레임워크의 주요 특징
- 의존 주입
- AOP
- MVC 웹 프레임워크
- DB 연동
- 자주 사용되는 프로젝트
- 스프링 데이터
적은 양의 코드로 데이터 연동 처리 - 스프링 시큐리티
인증/인가와 관련된 프레임워크 - 스프링 배치
로깅/추적, 작업 통계, 실패 처리 등
- 스프링 데이터
1. 메이븐
- pom.xml
- 메이븐 프로젝트에서 핵심은 pom.xml 파일
- 메이븐 프로젝트에 대한 설정 정보를 관리하는 파일
- 의존 모듈이나 플러그인 등에 대한 설정
- 의존 설정
- 한 개의 모듈을 아티팩트라는 단위로 관리
- 의존을 추가한다는 것 = 일반적인 자바 어플리케이션에서 클래스 패스에 모듈을 추가한다는 것
- 레포지토리
- 의존 아티팩트 파일은 로컬 레포지토리 확인 후 원격 중앙 레포지토리에서 파일을 다운로드
- 메이븐을 관리하는 아파치 재단에서 중앙 레포지토리에 아티팩트 파일을 등록하는 방법을 제공
- 의존 전의 (Transitive Dependencies)
- 의존에 설정한 아티팩트가 다시 의존하는 파일을 포함
- 메이븐은 의존 대상이 다시 의존하는 대상도 함께 다운로드
- 기본 폴더 구조
- src/main/java
- src/main/resources
- src/main/webapp
2. Gradle
- gradlew.bat / gradlew
- 각각 윈도우와 리눅스에서 사용할 수 있는 실행파일
- gradle 명령어 대신 사용할 수 있는 wrapper 파일
- 이 파일로 gradle 설치 없이 gradle 명령 실행 가능
3. Bean
- 스프링은 객체를 생성/관리/초기화하는 기능을 제공
- Bean : 스프링이 생성하는 객체
4. 애노테이션
- @Configuration
- 해당 클래스를 스프링 설정 클래스로 지정
- @Bean
- Bean 객체에 대한 정보를 담고 있는 메서드를 나타냄
- 해당 메서드가 생성한 객체를 스프링이 관리
- 해당 메서드는 객체를 생성하고 알맞게 초기화해야함
5. 클래스
- AnnotationConfigApplicationContext 클래스
- 자바 설정에서 정보를 읽어와 bean 객체를 생성/관리
- 해당 객체를 생성할 때 클래스를 생성자 파라미터로 전달하면 @Bean 설정 정보를 읽어 객체를 생성/초기화
- getBean(이름, 타입) : 생성한 bean을 검색할 때 사용
6. 스프링 컨테이너
- ApplicationContext/BeanFactory
- 빈 객체의 생성/초기화/보관/제거 등을 관리
- 이를 컨테이너라고도 부름
- 스프링 컨테이너
- 내부적으로 빈 객체와 빈 이름을 연결하는 정보를 가짐
- 객체 관리를 위한 다양한 기능 제공
- 이름과 실제 객체의 관계, 실제 객체의 생성/초기화/의존 주입 등
7. 싱글톤
- 별도의 설정의 없을 시 스프링은 한 개의 bean 객체만 생성
'책읽기' 카테고리의 다른 글
[스프링5 프로그래밍 입문][chap04] 의존 자동 주입 (0) | 2022.03.08 |
---|---|
[스프링5 프로그래밍 입문][chap03] 스프링 DI (0) | 2022.03.04 |
[파이썬 알고리즘 인터뷰] 14장 - 트리 (0) | 2021.09.13 |
[파이썬 알고리즘 인터뷰][그리디] 쿠키 부여 (0) | 2021.09.01 |
[파이썬 알고리즘 인터뷰][그리디] 주유소 (0) | 2021.09.01 |