본문 바로가기

의존성주입2

@Autowired, @Resource, @Inject @Autowired 란? 각 상황의 타입에 맞는 IoC 컨테이너 안에 존재하는 Bean을 자동으로 주입하게 해준다. - 객체를 자동 주입할 때 사용하는 어노테이션 - 스캔 명령을 통해 객체를 찾아 주입하는데 타입이름으로 검색한다. - 타입을 찾아내지 못하면 (id 속성값)을 통해 검색한다 - 생성자, 필드, 메서드에 적용 가능하다. - 필드에 자동주입 설정을 수행할 때는 기본 생성자가 반드시 있어야 한다. @Inject @Autowired 어노테이션과 같다 => JavaSE 어노테이션 @Autowired 단점 [ .xml ] 파일에 동일타입의 빈이 2개가 등록되어 있을때 에러가 발생한다. " defined in class path resources " @Qualifier("bean id") - Autow.. 2020. 10. 1.
DI ( Dependency Injection ) @ DI 란 ? - 스프링 Container 에 만들어 둔 각종 클래스 ( bean ) 들은 서로 의존적이다. - A 객체는 B 객체 없이 동작이 불가능하다. 1. Hotel 클래스 호텔은 레스토랑 없이 운영이 될 수 없다 . 만약, 레스토랑이 없다면 reserveRestaurant 기능을 사용할 수 없다. reserveRestaurant 이 필드 private Restaurant res를 참조하고 있다. res 객체를 참조하지 않았다면 " null point Exception " 발생할 것이다. 2. Restaurant 클래스 호텔은 레스토랑에 의존적이다. => DI 를 갖고 있다. 레스토랑은 쉐프 없이 운영을 할 수 없다. => Chef 에 의존적이다. 3. Chef 클래스 출력 용도 HOTEL 2020. 9. 27.