@Slf4j
@Controller
public class ArticleController {
@Autowired
private ArticleRepository articleRepository;
}
public interface ArticleRepository extends CrudRepository<Article, Long> { }
ArticleContoller클래스에 ArticleRepository에 @Autowired를 붙이면 new ArticleRepository()를 만들지 않고도 ArticleController 클래스 내에서ArticleRepository 인터페이스를 사용할수 있는건가요?
goodlife1359님의 답변
@Autowired는 의존성 주입을 의미합니다.
즉 자주 사용하는 ArticleRepository 인터페이스를 컨테이너가 new AriticleRepository() 객체로 만들어서 갖고있습니다.
ArticleController 클래스에서 ArticleRepository 인터페이스를 사용해야할때 @Autowired를 붙여서 컨테이너에 담아놓은 new ArticleRepository()를 인스턴스 변수로 참조해서 사용하겠다는 의미입니다.