내 응용 프로그램에는 다음과 같은 아키텍처가 있습니다.Spring Service Bean as Servlet
클라이언트 (GWT) < --calls -> 서블릿 < --calls -> 서비스 < --calls -> 다오
나는 변화를 쉽게이 구조를 만들고 싶어. 예 : Dao 레이어에서 객체의 삽입 된 ID를 반환하려면 클라이언트에서 필요하기 때문에 서비스와 서블릿 레이어도 업데이트해야합니다. 그래서이 작은 변화를 위해 3 개의 레이어 (3 개의 클래스와 3 개의 인터페이스)를 모두 업데이트해야 6 개 장소를 변경할 수 있습니다. 왜 내가 DAO 레이어가 필요한지 알 겠어. 나는 서비스 레이어가 필요한 이유도 얻는다. 서비스 레이어를 서블릿으로 사용할 수없는 이유는 무엇입니까? 현재 모든 서블릿이 요청을 서비스 계층으로 전달하고 있습니다.
는자바 서블릿에 대한 위키 백과의 기사는 말한다 :
서블릿은 가장 자주
이 같은 결과로 동적 콘텐츠를 제공하는 HTML 양식에서 제출 된
1 프로세스 나 데이터를 저장하는 데 사용되는
데이터베이스 쿼리
3 난에 만들
1, 2 단지 데이터베이스 호출되는 비 저장 HTTP 프로토콜에 존재하지 않는 상태 정보를 관리 내 DAO 계층과 서비스 계층은 이미 추가 비즈니스 로직을 가능하게합니다. 3 현재 세션으로 작업하지 않습니다. 지금까지 로그인이 없었고 아키텍처 만 가지고 놀았지만 서비스 계층에서도이 문제를 처리 할 수 있다고 생각합니다.
나는이 구조 변화에 대한 COS 및 장점을 알고 싶어
장점 :
- 한 층 이하의 변경이 발생하는 경우 업데이트 할 수 있습니다.
단점
- 서비스 레이어 complexer을 가져옵니다.
답장을위한 Thx.
서블릿 계층이기 때문에 서비스 계층에서 스프링 보안을 사용할 수도 있습니까? 아니면 제가 잘못 했나요? – SCBoy
스프링 보안의 기본 진입 점은 서블릿 스펙의 필터를 구현하므로 서블릿 계층에 빌드됩니다. 그것은 서블릿 레이어 자체가 아닙니다. –
서비스 레이어의 메소드에 스프링 보안 (http://static.springsource.org/spring-security/site/docs/3.0.x/reference/springsecurity-single.html#ns-method-security) 주석을 달 수도 있습니다. AOP를 사용하거나 정규 코드를 사용하고 서비스 계층의 사용자 객체를 전달하여이 모든 작업을 수행 할 수 있습니다. –