Java EE에서 각 서비스에 대한 인터페이스를 갖는 것이 좋은 (그리고 흔한) 습관입니까? 서비스가 어떤 메소드를 구현해야 하는지를 지정하는 인터페이스 외에 다른 장점은 무엇입니까?Java EE에서 서비스를위한 인터페이스를 제공하는 것의 편
예 : 일부 클라이언트 LIB 또는 API의 형태로 인터페이스를 공유하려고하지 않는 한
public interface UserService {
public User findUser(String username, String password);
}
@Stateless
public class UserServiceImpl implements UserService {
public User findUser(String username, String password) {
// some code
}
}
동일한 모듈에있는 경우 인터페이스를 사용하여 servicen을 사용하는 두 가지 방법을 정의 할 수 있지만이 경우 두 개의 인터페이스가 있습니다. – bilelovitch
그렇다면 OP의 예를 들어 보면, 표준 단일 ejb 모듈 + war 모듈을 가진 EAR을 가지고 있다면 war 모듈의 ejb 모듈에 정의 된 UserServiceImpl을'@ EJB'로 직접 삽입 할 수 있습니까? – Al1
@ Al1 예 (적어도 JEE7에서) EJB를'SomeServiceImpl' - 단지'SomeService'라고 이름 지어서는 안됩니다. 솔직히 현대 Java EE 응용 프로그램의 코드베이스는 멋지게 보입니다. 특히 이전의 혼란과 비교할 때 더욱 그렇습니다. – yntelectual