본문 바로가기

스프링 프레임워크4

Spring Framework 4 ResourceLoader 리소스를 읽어오는 기능을 제공하는 인터페이스 - 파일 시스템에서 읽어오기 - 클래스패스에서 읽어오기 - URL로 읽어오기 - 상대/절대 경로로 읽어오기 --------------------------- Resource 추상화 java.net.URL을 추상화 한 것 -> springcore.io.resource로 해당 클래스를 감싸서 실제 low-level에 있는 resource에 접근하는 기능을 만든것이다. 이유 -> 기존 java.net.URL은 클래스패스로 resource를 가져오는 기능과 ServletContext기준으로 resource를 가져오는 기능이 없었다. resource를 가져오는 방법을 하나로 통일시킨것. 구현체 - UrlResource, classpathRes.. 2019. 12. 12.
Spring Framework 3 Component, ComponentScan @ComponentScan을 붙이고 있는 configuration부터 스캔을 시작한다. @SpringBootApplication은 내부적으로 @ComponentScan을 가지고 있다. basePackageClasses를 사용하면 해당 어플리케이션이 담겨있는 패키지와 해당 패키지의 하위 패키지 전부를 스캔한다. 하지만 해당 패키지 외부에 있는 것들은 스캔하지 않는다. @Filter -> 컴포넌트 스캔을 한다고 해서 모든 Annotation들을 스캔해서 Bean으로 등록하는 것이 아니다. Filter를 통해서 걸러내는 것들도 있다. ComponentScan의 중요 설정 - 어디부터 어디까지 스캔을 할 것인가 -> basePackageClasses - 어떤것들은 걸.. 2019. 12. 5.
Spring Framework 2 Autowired 필요한 의존 객체의 Type에 해당하는 Bean을 찾아서 주입해준다. Field vs setter vs constructor(스프링 4.3부터는 생략 가능) 발생 가능한 경우의 수 1. 필요한 의존 객체 type의 Bean이 없는 경우 - Bean이 존재 하지 않지만 이를 주입하라 하기 때문에 Error가 발생한다. - setter 혹은 field로 의존성 주입을 받는 경우 (required = false)를 사용하여 문제를 해결할 수 있다. - 하지만 생성자를 사용한 의존성 주입은 생성자에 전달받아야 하는 type의 Bean이 존재하지 않으면 instance를 만들지 못하고 등록이 되지 못한다. 2. 필요한 의존 객체 type의 Bean이 하나인 경우 - 3. 필요한 의존 객체 typ.. 2019. 12. 4.
Spring Framework 1 스프링 IoC 컨테이너 IoC = Inversion of Control - 의존 관계를 직접 만들어 사용하는 것이 아닌, 주입을 받아서 사용하는 방법 꼭 스프링이 아니더라도 직접 만들어 사용할 수 있다. Container안에 들어있는 객체 - Bean 스프링 초기 - XML설정 -> Annotaion 기반의 DI지원 @Repository, @Service, @Autowired... 이런 어노테이션들을 사용하여 일반 POJO객체를 Bean으로 등록을 하고 일반적인 Class 역시 Bean으로 등록하고 Bean으로 등록되어 있는 객체를 손쉽게 주입받아 사용할 수 있다. BeanFactory interface - IoC의 가장 핵심적인 인터페이스 Bean - IoC 컨테이너가 관리하는 객체 의존성 주입을 받기.. 2019. 12. 4.
728x90