1. 생성자 주입이란?생성자 주입 방법은 객체를 생성하기 위해 생성자를 호출하는 시점 1회에만 호출되는 것을 보장한다.@Servicepublic class UserService { private UserRepository userRepository; @Autowired public UserService(UserRepository userRepository) { this.userRepository = userRepository; }} 스프링 프레임워크는 생성자 주입을 적극적으로 지원하고 있기 때문에 아래와 같이 생성자가 1개만 존재하는 경우에는 @Autowired 사용 없이 주입이 가능하다.@Servicepublic class UserService { private ..
애플리케이션 실행스프링 컨테이너 생성애플리케이션이 시작되면서 스프링 컨테이너가 생성된다. 스프링 컨테이너는 스프링 빈을 생성 및 관리한다.스프링 빈 등록스프링 빈은 기본적으로 싱글톤으로 생성되어 스프링 컨테이너에 등록된다.각 Bean의 인스턴스를 하나만 생성하고, 이를 모든 요청에 대해서 공유한다.@Configuration : 설정 클래스에 @Bean으로 등록된 객체를 스프링 빈으로 등록한다.@ComponentScan : @Component를 사용한 클래스를 스프링 빈으로 등록한다.의존성 주입생성된 빈들 간에 의존성을 주입한다. 필드 주입, 수정자 주입, 생성자 주입 방식이 사용된다.초기화 콜백추가적인 초기화 작업이 수행된다.ex. DB 연결 작업, 초기 데이터 로드@PostConstruct가 붙은 메서..
Spring Bean (스프링 빈)이란?IoC 컨테이너에 의해 프레임워크로부터 생성되고 관리되는 자바 객체를 의미한다. 스프링 컨테이너에 Bean을 등록하는 방법1. @ComponentScan에 의한 자동으로 Bean 등록@Component가 붙은 애너테이션을 사용하면 스프링 컨테이너에 의해 자동으로 Bean으로 등록된다. @Component가 붙은 대표적인 애너테이션은 다음과 같다.@Controller@Service@RepositoryControllerUserController는 UserService에 의존한다.@Controllerpublic class UserController { private UserService userService; public UserController(UserSe..