-
5장 ioc컨테이너스프링 프레임워크 기초 공부 2020. 4. 26. 19:25
컨테이너
컨테이너는 보통 인스턴스의 생명주기를 관리,생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것이라고 한다.
컨테이너란 당신이 작성한 코드의 처리과정을 위임받는 독립적인 존재라고 생각하면 된다. 컨테이너는 적절한 설정만 되어 있다면 누구의 도움없이도 프로그래머가 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤해준다
ioc(inversion of control) 제어역전
일반적인 프로그램은 개발자가 코드를 만든 순서대로 프로그램이 동작한다. 제어역전의 개념은 개발자는 몇가지 중요한 정보만 셋팅하면 프레임워크가 해당 개발자가 셋팅한 데이터를 분석하여 코드가 어떻게 동작해야 하는지를 프레임워크가 처리하는것이다. 즉 개발자가 코드를 만들어 순서대로 위에서 아래방향으로 실행 되는것이 아닌 개발자가 몇가지 데이터만 셋팅해주면 프로그램이 어떻게 흘러가야한다는것(전체 프로그램을 제어하는것)을 개발자가 아닌 프레임워크가 제어하는것이다
정리.
처음부터 끝까지의 코드의 흐름을 개발자가 전부다 만드는것이 일반적인 프로그램인데 ioc를 적용한 개발방식은 개발자가 몇가지 셋팅만 해주면 그 셋팅된 정보를 토대로 프로그램이 흘러가는 부분은 프레임워크가 제어한다.
즉 xml 상에 기록된 정보를 토대로 객체를 만들어서 반환을 하는작업을 수행한다
패키지
내부 패키지의 메타데이터를 로딩할때
ClassPathResource객체 사용
외부 패키지의 메타데이터를 로딩할때
FileSystemResource객체 사용
IoC컨테이너 종류
1.BeanFactory 옛날버전
xml메타데이터 로딩후에 객체가 생성되지않음 getBean 메소드 사용하면 객체생성됨
2.ApplicationContext 현버전
xml메타데이터 로딩과 동시에 객체가 생성됨
끝으로 스프링프레임워크는 Ioc컨테이너를 이용하여 bean객체들을 관리한다고 볼수있다.
키워드*
pojo class(plain old java object)평범한 자바 객체
자바 모델이나, 기능, 프레임워크 등에 따르지 않고 홀로 독립적이며 단순한 기능만을 가진 객체들을 의미한다.
(어떠한 다른 클래스와 엮겨 다른 클래스가 변경되면 따라 변경되는 부분이 절대없다 (ex)학생정보를 나타내는 학생class, 학교 정보를 나타내는 학교class) -> 자바에서는 이러한 객체들을 bean이라고 부른다.
'스프링 프레임워크 기초 공부' 카테고리의 다른 글
7장 di 생성자를 이용한 주입 (0) 2020.04.27 6장 bean 객체 생성하기 (0) 2020.04.26 4장 SpringFramework vs Java Programming 비교 (0) 2020.04.26 3장 개발 환경 구축 (0) 2020.04.26 1장,2장 spring framework 소개 (0) 2020.04.26