먼저, 필자는 약간의 독서를했으며 인터페이스 및 구현 클래스 (예 : 데이터 액세스 개체 (DAO))의 목적이 무엇인지 궁금합니다. 나는 그것이 유연성을 증가 시킨다는 것을 읽었지 만, 누군가 우리가 인터페이스가 필요한 이유에 대한 구체적인 예를 제공 할 수 있는지 궁금해하고 있었다.스프링 자동 와이어 - 인터페이스 및 구현 DAO 클래스가 필요합니까?
우리가 autowiring하는 경우에도 인터페이스를 구현하는 인터페이스와 구현을 사용해야합니까? 그렇다면 왜? 우리는 단지 impl을 필요로합니까?
미리 감사드립니다.
@ NathanHughes는 스프링 데이터 호출 SQL 패키지 저장 프로 시저를 사용할 수 있습니까? 인터페이스를 사용하는 목적이 무엇인지 궁금합니다. 지금까지 그것은 나에게 여분의 코드처럼 보입니다. – Alan
예, JPA 및 JPQL. http://stackoverflow.com/q/3572626/217324 –
클래스에 대한 인터페이스 (DAO의 경우도있을 수 있음)를 정의하면 종속성 주입에 도움이됩니다. "동등한"기능을 제공하는 다른 클래스를 주입하려면 인터페이스를 사용하면 실제로 도움이됩니다. 다른 프레임 워크 나 다른 리포지토리 DB에 대해 DAO를 사용할 수 있으며 삽입 방법을 선택할 수 있습니다. @Nathan Hughes 맞아, 스프링 데이터가 당신에게 impl을 제공하지만, 필요하다면 약간의 구현을 제공 할 수있다. – Xstian