DI
circular dependency를 만들면 스프링 어플리케이션 생성이 안된다.
Component
컴포넌트들(@Component) : 용도에 맞게 분류시켜줌
각각의 어노테이션을 사용해서 ~하는 클래스다 라고 스프링에 알려준다! 아~ 쉽당!
Bean중에 컴포넌트로 정의하면 컴포넌트로 인식하고,
@Service
달면 서비스 클래스를 따로 생성및 등록 안해도 찾아서 사용할 수 있게 된다.
Component
@ComponentScan()
()안에 패키지명이나 클래스명을 넣어서 원하는 것만 스캔할수도 있당!
쓸모없는건 제낄수 있다 내가 원하는거만 스캔된다 아이 편해~
특정 컴포넌트만 필터링하는 exclude도 가능하당 ㅎ
@Autowired -> 헷갈령,,,
자동으로 주입시켜준당 레포는 레포에 서비스는 서비스에
원래는 생성자에 주입할때도 달아줬는데 스프링 버전업되면서 생성자 주입은 자동으로 되도록 바뀐거야아아아아
그래서 생성자가 두 개라면 스프링이몰라서 못찾는겨
생성자 주입이 좋다!
-> 초기화때 모든 의존관계가 생기니까 안전해!
-> 엄청 엮인 애는 파라미터가 엄청 많을테니까, 눈을 의심해서 두번 확인할 수 있음
Autowired(자동으로 주입되는게) 2개면 스프링이 몰라요
-> @Primary 를 붙여줘서 우선순위 주거나
-> @Qaulifier 해가지고 사용하는 쪽에서 쓸 컴포넌트 정할수 있당
4.BeanScope : 빈이 어떤 범위로 만들어질까
싱글톤이 기본 - > 자동으로 같은 빈 = 같은 객체로 생성.
프로토타입으로 -> 같은 빈이 다른 객체로 생성됨.
-> 싱글톤으로 쓰는게 좋다. 왱?
오늘 강의 재밌당! 주말에 한번 더 보는게 좋겠엉
학부때 암것도 모른채로 들었던 내용인데 관심생기고 보는 느낌은 다르다.