
@Configuration와 @SpringBootConfiguration 차이
@Configuration vs @SpringBootConfiguration 싸피에서는 @SpringBootConfiguration 를 사용하지만 인프런 강의에서는 @Configuration 를 사용한다. 계층 구조 @SpringBootApplication -------> @SpringBootConfiguration -...
@Configuration vs @SpringBootConfiguration 싸피에서는 @SpringBootConfiguration 를 사용하지만 인프런 강의에서는 @Configuration 를 사용한다. 계층 구조 @SpringBootApplication -------> @SpringBootConfiguration -...
@ModelAttribute, @RequestParam 로그인 시도시에 @ModelAttribute("user") User user 를 별도로 안만들어도 된다? <div class="login-container" align="center"> <h2>로그인</h2> <form actio...
빈 스코프 빈 스코프란? 지금까지 스프링 컨테이너 라이프 사이클 > 빈 라이프 사이클 포함 관계였다. 하지만 스프링은 다양한 스코프 또한 지원한다. (스코프란 생명 수명이다.) 스프링이 지원하는 빈 스코프 싱글톤 : 기본 스코프, 스프링 컨테이너와 함께한다. 프로토 타입 : 스프링 컨테이너가 생성과 의존관계 주입까지만 관여한다....
빈 스코프 빈 스코프란? 지금까지 스프링 컨테이너 라이프 사이클 > 빈 라이프 사이클 포함 관계였다. 하지만 스프링은 다양한 스코프 또한 지원한다. (스코프란 생명 수명이다.) 스프링이 지원하는 빈 스코프 싱글톤 : 기본 스코프, 스프링 컨테이너와 함께한다. 프로토 타입 : 스프링 컨테이너가 생성과 의존관계 주입까지만 관여한다....
빈 생명주기 콜백 데이터베이스 커넥션 풀이나 네트워크 소켓 연결 같은 경우 작업 전에 미리 연결을 해놓고 한번에 해제 시켜야한다. 즉 객체의 초기화와 종료 작업이 필요하다. 스프링 빈은 다음과 같은 생성 주기를 가진다. 객체 주입 → 의존관계 주입 스프링 빈은 객체를 생성하고 의존...
빈의 등록 조회 빈이 모두 필요할 때 Map , List 자료구조를 통해 초기에 bean을 만들 때 모든 빈을 해당 자료구조에 등록이 가능하다. 다양한 bean을 가지고 파라미터로 String beanName을 통해 적절한 빈을 꺼내와 다형성을 활용해 로직을 동적으로 설계할 수 있다. 다형성 보장 DI 보장 ...
중복 빈 문제 조회 빈이 2개 이상이면 어떻게 될까? - 문제 일반적으로 타입으로 조회하게 된다면 상속으로 여러개의 빈 중 어떤걸 가져와야할지 문제가 생길 수 있다. 하위타입으로 지정하면? → 문제는 해결되지만 DIP 위반 역할과 구현의 분리에 어긋남 언제나 추상적인 것에 의존하도록 만들기 ...
롬복 활용 대부분의 개발에 있어 대부분 불변이다. 근데 생성자도 만들어야하고 주입 코드도 받아야한다. 생성자 주입의 장점도 살리고 필드 주입의 장점도 살리는 방법이 없을까? Lombok getter , setter ,constructor 등 편리한 기능을 제공 @RequiredArgsConstructor final ...
의존관계 자동 주입 의존관계 주입 방법에는 4가지가 있다. 생성자 주입 수정자 주입 (setter 주입) 필드 주입 일반 메서드 주입 생성자 주입 생성자를 통해 의존 관계 주입 특징 최초 1회만 주입 받는다. 불변, 필수 의존관계에 사용 @Component public ...
컴포넌트 스캔와 의존관계 자동 주입 스프링 빈은 @Bean이나 xml을 통해 생성하였다. 하지만 Bean이 엄청 많아진다면…? 스프링 내에는 설정 정보 없이도 자동으로 스프링 빈은 등록하는 컴포넌트 스캔이라는 기능을 제공 의존관계까지 자동으로 주입하는 @AutoWired 라는 기능도 제공한다. 일반적인 컴포넌트 스캔은 모든 ...