본문 바로가기

프로그래밍/SPRING8

[스프링 기본 : IoC 컨테이너] @Component 와 컴포넌트 스캔 컴포넌트 스캔 주요 기능 스캔 위치 설정 : basePackages, basePackageClasses 필터 : 어떤 어노테이션을 스캔할지 또는 하지 않을지 @Component 의 종류 @Repository @Service @Controller @Configuration 동작원리 @ComponentScan은 스캔할 패키지와 어노테이션에 대한 정보 실제 스캐닝은 ConfigurationClassPostProcessor 라는 BeanFactoryPostProcessor에 의해 처리됨. 참고자료 https://www.inflearn.com/course/spring-framework_core 스프링 프레임워크 핵심 기술 - 인프런 이번 강좌는 스프링 부트를 사용하며 스프링 핵심 기술을 학습합니다 따라서 스프링 .. 2019. 10. 6.
[스프링 기본 : IoC 컨테이너] @Autowired @Autowired @Autowired 어노테이션을 상요하면 IoC 컨네티어 안에 존재하는 빈을 자동으로 찾아 주입시켜준다.(타입기준) required : 기본값은 true (true 인경우 못찾으면 어플리케이션 구동 실패) 사용가능 위치 생성자(스프링 4.3부터는 생략가능) 세터 필드 파라미터 어노테이션 타입 @Autowired setter 메소드에 사용 SampleRepository.java SampleService.java @Autowired required 확인 위 SampleRepository.java 에서 @Repository 제거후 실행 @Autowired 어노테이션은 기본값이 true이기 때문에 true인경우에는 위에서 설명한 바와같이 등록한 대상이 없으면 어플리케이션 구동이 실패한다 따라.. 2019. 10. 6.
[스프링 기본 : IoC 컨테이너] Application Context와 빈 설정 방법 스프링 IoC 컨테이너의 역할 빈 인스턴스 생성 의존관계 설정 빈 제공 빈 설정 파일이 꼭 필요함. ApplicationContext ClassPathXmlApplicationContext (XML config) SampleRepository.java package me.hw.sample1; public class SampleRepository { } SampleService.java package me.hw.sample1; public class SampleService { SampleRepository sampleRepository; public void setSampleRepository(SampleRepository sampleRepository) { this.sampleRepository = s.. 2019. 10. 6.
[스프링 기본 : IoC 컨테이너 ] IoC 컨테이너 와 빈 IoC (Inversion of Control, 제어의 역전) 의존관계주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존객체를 직접 만들어 사용하는게 아닌, 주입받아 사용하는 방식을 말함. 즉 인스턴스의 생성부터 소멸까지의 생명주기를 개발자가 아닌 컨테이너가 대신 해준다는 뜻 스프링 IoC/DI 컨테이너 BeanFactory : 스프링의 컨테이너 기능을 담당 스프링의 설정 파일에 등록된 bean 객체를 관리하는 가장 기본적인 컨테이너 기능 제공 컨테이너가 구동될 때 객체를 생성하는 것이 아닌 클라이언트의 요청에 의해서만 객체를 생성(lazy loading) 어플리케이션 컴포넌트의 중앙저장소 빈 설정 소스(XML, Java config..)로 부터 빈 정의를 읽어 들이고,.. 2019. 10. 6.