봄 신청의 DAO 및 서비스 클래스는 싱글 톤 범위 여야한다는 것을 여러 곳에서 봤습니다. 내가 어떤 범위를 정의하지 않았으므로 나는 서비스 클래스봄 mvc 응용 프로그램에서 콩 범위를 사용하는 모범 사례
@Service
public class CustomerServiceImpl implements CustomerService {
@Autowired
private CustomerDAO customerDAO;
.......
parameterised methods only....
}
와 DAO 클래스 다음 한 내 응용 프로그램에서
는
@Repository
public class CustomerDAOImpl implements CustomerDAO {
@Autowired
private SessionFactory sessionFactory;
...............
parameterised methods only....
}
는 기본 범위는 모두 CustomerService를하고 CustomerDAO singleton.So입니다 또한 컨테이너 당 한 번만 인스턴스화됩니다. 또한 DAO 클래스는 시작시 한 번만 서비스 클래스에 자동으로 호출됩니다. 무거운 요청 웹 응용 프로그램이라는 의미이므로 또는은 입니까?) 수백 개의 스레드가 두 클래스의 동일한 인스턴스를 사용합니다.
그런데 스레드 안전성은이 경우 어떻게 보장됩니까?
xml에 정의 된 hibernate sessionfactory bean의 범위는 어떻습니까?
스프링 mvc 애플리케이션에서 빈 범위와 스레드 안전성에 대해 매우 혼란 스럽습니다. 스프링 소스 문서에서는 웹 애플리케이션에 대한 설명이 명확하지 않습니다.
혹시 무거운 요청 웹 응용 프로그램에 콩 범위 (DAO, 서비스, 컨트롤러 및 기타 콩)를 사용하는 모범 사례를 설명해 주시겠습니까?
이러한 링크를 설명하는 링크는 저에게 감사드립니다.
미리 제안 해 주셔서 감사합니다.