빈 스코프란? 스프링 빈이 존재할 수 있는 범위 혹은 생명주기 스프링은 다음과 같은 다양한 스코프를 지원함 싱글턴 : 기본 스코프. 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 이후에는 관리하지 않는 매우 짧은 범위의 스코프 웹 관...
Spring Framework - 빈 생명주기 콜백
빈 생명주기 콜백 스프링 빈은 간단하게 다음과 같은 라이프사이클을 가짐 객체 생성 -> 의존관계 주입 스프링 빈은 객체를 생성하고, 의존관계 주입이 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료됨 그러므로 초기화 작업은 의존관계 주입 단계가 다 완료되고 난 다음에 호출 해야함 스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 ...
Spring Framework - 의존관계 자동 주입
다양한 의존관계 주입 방법 의존관계 주입은 아래와 같이 크게 4가지가 존재 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 생성자 주입 생성자를 통해 의존관계를 주입 받는 방법 생성자 호출시점에 딱 1번만 호출되는 것이 보장됨 불변, 필수 의존관계에서 사용 @Component public c...
Spring Framework - 컴포넌트 스캔
컴포넌트 스캔과 의존관계 자동 주입 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공함 또한 의존관계도 자동으로 주입하는 @Autowired 라는 기능도 제공 컴포넌트 스캔은 @Component 어노테이션이 붙은 클래스를 스캔하여 스프링 빈으로 등록함 @ComponentScan 으로 인하여 직접 @Bean으...
Spring Framework - 싱글턴 컨테이너
싱글턴 컨테이너 스프링 컨테이너는 싱글턴 패턴을 적용하지 않아도 객체인스턴스를 싱글턴으로 관리함 컨테이너는 객체를 하나만 생성해서 관리 스프링 컨테이너는 싱글턴 컨테이너 영할을 함 이러한 싱글턴 객체를 생성하고 관리하는 기능을 싱글턴 레지스트리라고 함 스프링 컨테이너로 인...
Spring Framework - 스프링 컨테이너와 스프링 빈
스프링 컨테이너와 스프링 빈 스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이...
Spring Framework - 핵심 원리 이해
IoC, DI, 컨테이너 IoC(Inversion of Control) - 제어의 역전 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고 실행함 즉 구현 객체가 프로그램의 제어 흐름을 스스로 조종했음 반면에 AppConfig(DI를 위한 configure class....
Spring Framework - 핵심 원리 이해(예제 만들기)
요구사항과 설계 회원 도메인 요구사항 회원가입 및 조회 회원은 일반, VIP 두가지 유형이 존재 회원 데이터는 자체 DB를 구축할 수 있거나 외부 시스템과 연동될수도 있음(미확정) 회원 도메인 협력 관계 회원 클래스 다이어그램 회원 객체 다이어그램 회원 도메인 설계의 문제점 다른 저장소로 변경할떄 OCP 를 준수하는지?...
Spring Framework - 객체 지향 설계와 스프링
스프링이란? 여러가지 기술(모듈)들의 집합 스프링 데이터, 스프링 세션, 스프링 시큐리티 등등 Spring Framework 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술 : 스프링 MVC, 스프링 WebFlux 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, X...
Programmers - 키패드 누르기
키패드 누르기 - lv.1 문제 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 ...