반응형
● 62일차, 코딩학원 공부내용 정리
1. Spring DI 관련 개념. Bean이란 무엇인가?
2. 의존관계 주입은... Bean은 만들어져있고 그것을 객체에 넣어준다는 건가?
3. 해시 코드가 뭐야?
4. 싱글톤이면 하나의 객체만 생성, prototype이면 여러 개 생성 가능.
package com.earth.DI;
import org.apache.catalina.core.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
class Car {}
class Engine {}
class Door {}
public class SpringDITest {
public static void main(String[] args) {
GenericXmlApplicationContext ac = new GenericXmlApplicationContext("config.xml");
Car car = (Car) ac.getBean("car"); //byName 이름으로 검색
Car car2 = ac.getBean("car", Car.class);
System.out.println("car = " + car);
System.out.println("car = " + car2);
}
}
5. 인버전 뜻을 어렴풋이 알겠다.
Engine engine = (Engine) ac.getBean("engine");
Door door = (Door) ac.getBean("door");
원래 자바에선 new로 새로운 객체를 생성했는데 Spring프레임워크에서는 Bean에서 객체를 호출함.
6. 인버전은 역발상으로 많은 개발자들의 호응을 받았기에 지금까지 Spring이 발전했다.
7. toString 메서드 호출이 잘못되서 오류가 계속 났다.
car = Car [color=red, oil=100, engine=com.earth.DI04.Engine@769a1df5, doors=[com.earth.DI04.Door@41f69e84, com.earth.DI04.Door@41f69e84]]
반응형