DI3 [Spring] DI DI (Dependency Injection) - 객체 간의 의존 관계를 자신이 아닌 외부의 조립기가 수행한다. - 제어의 역행(IoC : inversion of Control)이라는 의미로 사용한다. - DI를 통해 시스템에 있는 각 객체를 조정하는 외부 개체가 객체들에게 생성 시에 의존관계를 줌 - 느슨한 결합(loose coupling)의 주요 강점 : 객체는 인터페이스에 의한 의존관계만을 알고 있으며, 이 의존관계는 구현 클래스에 대하나 차이를 모르는 채 서로 다른 구현으로 대체가 가능하다. - Spring의 DI 지원 : Spring Container가 DI 조립기를 제공한다. 스프링 설정파일을 통해 객체 간 의존관계를 설정하고, 제공하는 API를 이용해 객체를 사용한다. 용어 정리 Bean -.. 기록/BACKEND 2022. 4. 20. [Spring] DI 주입하기 - java 객체 필요한 곳에서 부르기 1. context 설정(객체 정보를 알 수 있는 class) - .xml 파일 대신 설정이 담긴 java class를 넘긴다. 2. 사용할 객체 가져오기(xml과 동일) - context에서 Bean을 가져온다. - 이름만 설정 : 해당 이름의 객체를 가져온다. 이름이 없다면 해당하는 class를 알아서 가져온다. - 클래스만 설정 : 해당 class타입으로 자동 형 변환해서 가져온다. 클래스 설정하지 않으면 Object 타입으로 반환한다. ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class); GuestBookService guestBookService = con.. 기록/BACKEND 2022. 4. 16. [Spring] DI 주입하기 - xml 방법 두 가지가 있는데, context.xml과 java class에서 하나씩 짝지어 생각하면 된다. 객체 필요한 곳에서 부르기 1. context 설정(객체 정보를 알 수 있는 xml파일) - new ClassPathXmlApplicationContext()에 xml 파일 주소를 넘긴다. 2. 사용할 객체 가져오기 - context에서 Bean을 가져온다. - 이름만 설정 : 해당 이름의 객체를 가져온다. 이름이 없다면 해당하는 class를 알아서 가져온다. - 클래스만 설정 : 해당 class타입으로 자동 형 변환해서 가져온다. 클래스 설정하지 않으면 Object 타입으로 반환한다. ApplicationContext context = new ClassPathXmlApplicationContext("c.. 기록/BACKEND 2022. 4. 15. 이전 1 다음