73. @Autowired의 원리
볼빵빵오춘기
DI가 어떻게 일어나냐면 기본적으로 클래스를 만들면 생성자가 기본적으로 있다. 근데 그 스프링이 컴포넌트스캔할때 @Service (Service라는 어노테이션을 읽고 나서) "어? BoardService 내가 스프링컨텍스트에 저장해야하는 object구나 ? 저장할 때 new를 해서 들구 가야겠네" 생각하고, 이때 기본생성자를 해서 들구간다. 기본생성자로해서 들고갈때 만약에 파라미터가 아래와 같이 생긴 생성자가 생겨버리면 new할때 기본생성자가 없는것이다. 그러므로 BoardService가 어디에서 생길 때 기본생성자가 생겨야하는데 만약 위와같이 작성하였다면 "어? 기본생성자가 없네. 어 그럴려면 파라미터에 있는것들을 주입시켜줘야돼" 해서 컴포넌트스캔해서 뒤져보니 Repository가 스캔에 떠있다. 즉,..