Study/Spring

[Spring Framework] 웹 애플리케이션이 안고 있는 문제

AC 2019. 8. 3. 23:51

 


EJB의 문제(현재는 문제점이 해결된 상태)

이전에 스프링은 안티 EJB라는 느낌이었지만, EJB 자체가 버전 3.0으로 넘어가면서 DI 컨테이너, AOP 프레임워크가 됐으므로 이제 EJBㅣ와 비교해 스프링의 우위를 증명하는 방법은 성립하지 않는다.

과거에 EJB라는 중량 컨테이너의 안티테제(antithese)로서 경량 컨테이너를 자처하고 등장한 스프링이 현재는 오히려 비교 대상이 Java EE가 됐을 정도로 스프링은 거대해졌다.

이를 방지하려면 서비스 로직의 오브젝트는 싱글턴(singletone)으로 해야 하지만, 오브젝트를 싱글턴으로 하려면 구현을 변경해야 하고, 어떤 사정으로 오브젝트가 싱글턴일 필요가 없어졌을 때의 비용이 커지는 단점이 있다. 

 

또한, 마찬가지로 싱글턴처럼 오브젝트가 HTTP의 Session인 동안만 있으면 된다거나 Request일 때만 있으면 되는, 오래 살아남으면 곤란한 오브젝트의 생명 주기를 만들어내는 것도 어렵지만, 스프링은 이러한 생명 주기도 관리해준다.

 

LIST